Legged robot
The hybrid controller system with autobalance and direction controllers improves legged robot stability, enabling reliable operation on uneven terrain and under external forces.
Patent Information
- Application Number
- PCT/JP2025/011667
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-16
- Filing Date
- 2025-03-25
- Publication Date
- 2025-10-23
AI Technical Summary
Legged robots struggle to maintain balance, especially when faced with uneven terrain or external forces, limiting their ability to perform tasks in dangerous environments autonomously.
A hybrid controller system that includes an autobalance controller with horizontal, center of pressure, and vertical direction controllers, along with an external force component extraction unit, to ensure stable operation by integrating torque commands from both operator control and automatic balance maintenance.
Enhances the robot's balance maintenance capabilities, allowing it to navigate uneven terrain and withstand external forces more reliably than conventional methods.
Smart Images

Figure JP2025011667_23102025_PF_FP_ABST
Abstract
Description
legged robot
[0001] The present invention relates to a legged robot, and more particularly to a legged robot equipped with a hybrid controller including a leg controller that controls the legs based on instructions from an operator and an auto-balance controller that automatically maintains balance.
[0002] There is a desire to realize legged robots that can perform various tasks in place of humans in dangerous environments, but many challenges remain before they can be fully automated. For this reason, development of remote-controlled legged robots is underway. Known methods for operating remote-controlled legged robots include, for example, a method in which an operator commands a walking path via a graphical user interface (GUI) as described in Non-Patent Document 1, and a method in which the operator's movements, captured by motion capture, are reflected in the robot as described in Non-Patent Document 2.
[0003] Legged robots generally have unstable mechanisms with many degrees of freedom, and walking, one of their basic movements, poses a high risk of tipping over. To address this issue, a method for automatically and autonomously generating walking patterns in real time, as described in Non-Patent Documents 3 and 4, is effective. However, this method does not allow an operator to control the leg movements required for walking one by one. For this reason, legged robots that employ this method may not be able to change foot positions based on the operator's judgment, which is necessary when walking on uneven terrain such as construction sites or disaster sites.
[0004] As such, a remote-controlled legged robot is preferably equipped with a controller that moves the legs as intended by the operator and automatically maintains the balance of the entire robot. An example of such a legged robot is disclosed in Patent Document 1. This legged robot is equipped with a torque command-based autobalance controller (i.e., an autobalance controller that outputs torque commands to the ankle joints). This autobalance controller is configured to be usable in combination with any leg controller that outputs torque commands corresponding to the operator's commands. This autobalance controller allows the operator to move the legs as intended, as long as the output of the leg controller does not interfere with the autobalance controller, i.e., the autobalance controller does not disrupt the balance maintained by the autobalance controller.
[0005] S. Nakaoka, M. Morisawa, K. Kaneko, S. Kajita, and F. Kanehiro:“Development of an indirect-type teleoperation interface for biped humanoid robots,” Proceedings of 2014 IEEE / SICE International Symposium on System Integration, pp.590-596, 2014.I. Almetwally and M. Mallem:“Real-time tele-operation and tele-walking of humanoid robot NAO using Kinect Depth Camera,” Proceedings of 2013 10th IEEE International Conference on Networking, Sensing and Control, pp.463-466, 2013.J. Ding, M. Yang, J. Zhou, D. Yao, and X. Xiao:“Robust real-time walking pattern generation with dynamical consistency: An analytical method combined with optimal solution,”Proceedings of 2017 IEEE International Conference on Robotics and Biomimetics, pp.1806-1811, 2017.T. Sato, S. Sakaino, and K. Ohnishi:“Real-time walking trajectory generation method with three-mass models at constant body height for three-dimensional biped robots,”IEEE Transactions on Industrial Electronics, vol.58, no.2, pp.376-383, 2011.
[0006] Patent No. 5268107
[0007] However, the autobalance controller for the legged robot described in Patent Document 1 was sometimes unable to maintain balance in various situations, including when a sustained external force was applied to the robot.
[0008] The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a legged robot that maintains balance more reliably than conventional robots.
[0009] In order to achieve the above object, a first legged robot according to the present invention is a robot including a trunk, legs connected to the trunk, and a hybrid controller for controlling the legs, wherein the legs include feet having soles that can come into contact with the ground, leg portions, and at least one joint, wherein the hybrid controller includes an autobalance controller that outputs a first torque command related to automatic balance maintenance, and a leg controller that outputs a second torque command based on arbitrary control, and is configured to output a torque command indicating the sum of torque amounts indicated by the first torque command and the second torque command as a command related to torque to be generated by an actuator of the joint, wherein the autobalance controller includes a horizontal direction controller that outputs a third torque command, and a center of pressure controller that outputs a fourth torque command, and is configured to output a torque command indicating the sum of torque amounts indicated by the third torque command and the fourth torque command as a first torque command, The third torque command is a command regarding the torque that the actuator of the joint should generate so that the torso is positioned approximately vertically above the sole of the foot, and the fourth torque command is a command regarding the torque that the actuator of the joint should generate so that the center of pressure of the floor reaction force that the sole of the foot receives from the ground is located at a predetermined position within the sole of the foot, and the amount of torque indicated by the fourth torque command is limited so that it does not become infinitely large.
[0010] The autobalancing controller of the first legged robot may further include a vertical direction controller that outputs a fifth torque command, and may be configured to output, as the first torque command, a torque command that indicates the sum of the torque amounts indicated by the third torque command, the fourth torque command, and the fifth torque command. The fifth torque command is a command related to the torque that the actuator of the joint should generate so that the position of the trunk in the approximately vertical direction approaches a predetermined neutral state, or a command related to the torque that the actuator of the joint should generate so that the displacement of the joint approaches a predetermined neutral state.
[0011] The center of pressure controller of the first legged robot may be configured to limit the torque amount indicated by the fourth torque command by using an imperfect integrator, and the imperfect integrator may be an imperfect integrator with a limiter that limits the output.
[0012] Furthermore, in order to achieve the above object, a second legged robot according to the present invention is a robot including a trunk, a plurality of legs connected to the trunk, and a hybrid controller for controlling the plurality of legs, wherein each of the plurality of legs includes a foot having a sole capable of contacting the ground, a leg, and at least one joint, wherein the hybrid controller includes an autobalance controller for outputting a first torque command related to automatic balance maintenance for each leg, and a leg controller for outputting a second torque command based on arbitrary control for each leg, and is configured to output a torque command indicating the sum of the torque amounts indicated by the first torque command and the second torque command for the same leg as a command related to the torque to be generated by the actuator of the joint included in the leg, wherein the autobalance controller includes a horizontal direction controller for outputting a third torque command for each leg and a center of pressure controller for outputting a fourth torque command for each leg, and is configured to output a torque command indicating the sum of the torque amounts indicated by the third torque command and the fourth torque command for the same leg as a first torque command for the leg, The third torque command is a command regarding the torque that the actuator of the joint should generate so that the torso is positioned approximately vertically above the sole of the foot, and the fourth torque command is a command regarding the torque that the actuator of the joint should generate so that the center of pressure of the floor reaction force that the sole of the foot receives from the ground is located at a predetermined position within the sole of the foot, and the amount of torque indicated by the fourth torque command is limited so that it does not become infinitely large.
[0013] The autobalancing controller of the second legged robot may further include a vertical direction controller that outputs a fifth torque command for each leg, and may be configured to output a torque command indicating the sum of the torque amounts indicated by the third torque command, the fourth torque command, and the fifth torque command for the same leg as the first torque command for that leg. The fifth torque command is a command related to the torque that the actuator of the joint should generate so that the position of the trunk in the approximately vertical direction approaches a predetermined neutral state, or a command related to the torque that the actuator of the joint should generate so that the displacement of the joint approaches a predetermined neutral state.
[0014] The autobalancing controller of the second legged robot may further include an external force component extraction unit that extracts external force components of the third torque command, the fourth torque command, and the fifth torque command, and may be configured to output a torque command that indicates the sum of the torque amounts indicated by the external force component of the third torque command, the external force component of the fourth torque command, and the external force component of the fifth torque command for the same leg as the first torque command for that leg.
[0015] The autobalancing controller of the second legged robot may further include a ground contact controller that outputs a sixth torque command for each leg, and an internal force component extractor that extracts an internal force component of the sixth torque command, and may be configured to output, as a first torque command for the leg, a torque command that indicates the sum of the torque amounts indicated by the external force components of the third torque command, the fourth torque command, the fifth torque command, and the internal force component of the sixth torque command for the same leg. The sixth torque command is a command related to the torque that should be generated by the actuator of the joint so that the sole of the foot continues to contact the ground.
[0016] The center of pressure controller of the second legged robot may be configured to limit the torque amount indicated by the fourth torque command by using an imperfect integrator, which may be an imperfect integrator with a limiter that limits the output.
[0017] According to the present invention, it is possible to provide a legged robot that maintains balance more reliably than conventional robots.
[0018] FIG. 1 is a control block diagram of a legged robot according to a first embodiment of the present invention. FIG. 2 is a schematic diagram for explaining horizontal direction control of the present invention. FIG. 3 is a schematic diagram for explaining center of pressure control of the present invention. FIG. 4 is a control block diagram of a legged robot according to a second embodiment of the present invention. FIG. 5 is a schematic diagram for explaining vertical direction control of the present invention. FIG. 6 is a control block diagram of a legged robot according to a third embodiment of the present invention. FIG. 7 is a control block diagram of a legged robot according to a fourth embodiment of the present invention. FIG. 8 is a schematic diagram for explaining ground contact control of the present invention. FIG. 9 is a schematic diagram for explaining external force components and internal force components.
[0019] First, various definitions and terms used in this specification will be explained.
[0020] [1. Various definitions] In this specification, an m×n zero matrix is defined as O m×n , n-dimensional zero vector n , n × n identity matrix I n A 3×3 skew-symmetric matrix that satisfies equation (1) for an arbitrary three-dimensional vector x is represented as [a×].
[0021] In this specification, the function ROT(q, p) is defined as in equation (2). The function ROT(q, p) is a rotation vector that rotates vector p to vector q. In other words, when vector p is rotated around the direction of vector ROT(q, p) by an angle equivalent to the magnitude of vector ROT(q, p), the direction of vector p coincides with the direction of vector q.
[0022] In this specification, the generalized saturation function gsat is defined as shown in equation (3). The function gsat returns the value of x saturated to the interval [a, b].
[0023] [2. Inexact Integration] Inexact integration is an operation expressed by equation (4) or equation (5). Here, β is a positive constant called the time constant. The time function y is obtained by imperfectly integrating the time function u with the time constant β. If β = ∞, the operation expressed by Equation (4) or (5) becomes a perfect integral. Imperfect integration can be considered a mathematical extension of normal integration (perfect integration). On a time scale sufficiently shorter than the time constant β, the time function y takes a value close to the integral value of the time function u. However, unlike a perfect integral, the time function y does not grow without bound, even if the time function u maintains a constant non-zero value for a long period of time. Therefore, for example, by using the imperfect integral of Equation (4) or (5) as a substitute for integration in PI control (proportional-integral control), the PI control input can be prevented from growing without bound, even when a steady-state error exists.
[0024] As will be described in detail later, a legged robot according to the present invention includes a trunk and at least one leg connected to the trunk, and the leg includes a foot having a sole that can come into contact with the ground and apply torque, a leg portion, and at least one joint.
[0025] In this specification, the coordinate system set for the body (body coordinate system) is represented as B, and the coordinate system set for the foot (foot coordinate system) is represented as F. If a legged robot has two legs (left leg and right leg), the coordinate system set for the foot of the left leg (left foot coordinate system) is represented as F. L , the coordinate system set at the foot of the right leg (right foot coordinate system) is F R In addition, if the legged robot has n legs, the coordinate system set at the foot of the kth leg (kε{1, . . . , n}) is expressed as F k However, when there is no need to distinguish between the multiple foot coordinate systems that have been set, it may be simply expressed as a foot coordinate system F.
[0026] In this specification, a 3×3 posture matrix indicating the posture of the foot coordinate system F as viewed from the body coordinate system B is defined as B R F Also, the position vector of the foot as seen from the body coordinate system B is B r FB (6), the generalized velocity vector of the foot seen from the body coordinate system B B v FB is expressed as in equation (7). Generalized Velocity Vector B v FB is a six-dimensional vector in which a three-dimensional translational velocity vector and a three-dimensional angular velocity vector are arranged vertically.
[0027] In this specification, for example, if a leg includes m joints, the angle vector q of the m joints is F is expressed as in equation (8). Generalized Velocity Vector B v FB and angle vector q F The relational expression (9) holds between B J FB is the appropriate Jacobian matrix expressed in equation (10).
[0028] [4. Statics] In this specification, for example, if a leg includes m joints, the torque vector τ of the m joints is F is expressed as Equation (11), and the generalized force vector applied by the leg to the foot expressed in the body coordinate system B is B φ FB is expressed as in equation (12). Generalized Force Vector B φ FB is a six-dimensional vector in which a three-dimensional translational velocity vector and a three-dimensional torque vector are arranged vertically.
[0029] Torque vector τ F and the generalized force vector B φ FB The relational expression (13) holds between B J FB is the appropriate Jacobian matrix as mentioned above.
[0030] The generalized force vector applied to the body by the leg (leg part) expressed in the body coordinate system B is B φ BF Then, the generalized force vector B φ BF and the generalized force vector B φ FB The relation (14) holds between Here, the matrix B Pi FB is defined as in equation (15).
[0031] [5. External Force Components and Internal Force Components] [5-1. Definitions] In this specification, when a legged robot has n legs connected to its trunk that are in contact with the ground, the generalized force vector sequence [ B φ F1B T , ..., B φ FnB T ] T The external force component based on a certain distance criterion is defined as "the generalized force vector sequence [ B φ F1BT , ..., B φ FnB T ] T The distance norm is defined as "the vector sequence with the smallest norm based on the distance criterion among an infinite number of vector sequences of generalized forces that can apply to the trunk a generalized force equivalent to the distance norm of the leg." Furthermore, in this specification, the distance norm is defined as "the vector sequence of generalized forces that each leg applies to the trunk based on a certain distance criterion [ B φ F1B T , ..., B φ FnB T ] T The internal force components of the "generalized force vector sequence [ B φ F1B T , ..., B φ FnB T ] T It is defined as "the force component minus the external force component."
[0032] [5-2. Generalized forces generated by legs and generalized forces applied to the trunk] Generalized force vectors applied by the legs to the feet expressed in trunk coordinate system B B φ F1B , ..., B φ FnB , and the generalized force vectors that each leg exerts on the trunk expressed in the trunk coordinate system B. B φ B1L , ..., B φ BnR As explained using equation (14), the relational expression (16) holds between them. Here, the matrix B Pi FkB is defined as in equation (17).
[0033] When the foot of each leg is on the ground, the generalized resultant force vector that each leg exerts on the trunk expressed in the trunk coordinate system B is B φ BG is expressed as in equation (18). However, the matrices and vectors in the above equations are defined as in equations (19) and (20).
[0034] [5-3. Extraction of external and internal force components] The generalized force vector sequence [ B φ F1B T , ..., B φ FnB T ] T As explained using equation (18), is the generalized resultant force vector expressed by equation (21). B φ BG Add to the body.
[0035] This generalized resultant force vector B φ BG The generalized force vector sequence φ required to realize * = [ B φ * F1B T , ..., B φ * FnB T ] T , i.e., B φ BG =-Πφ * A generalized force vector sequence φ that satisfies * There are not only φ but also an infinite number of φ. In the present invention, the smallest possible one is selected from the infinite number of φ. This selection is performed by * Using the p × 6n matrix U, we obtain an index of the size of ||Uφ * If we define ||, then we can use equation (22) to obtain ||Uφ * A generalized force vector sequence φ that minimizes || * (Hereafter, this will be referred to as φ ex This is equivalent to finding (where . When p≧6n, the analytical solution of the above equation is given by equation (23). where the matrix Φ ex is defined as shown in equation (24). Furthermore, the matrix P is a 6n×6n matrix, and its definition is as shown in equation (25). Here, the matrix V is T V is a 6n×(6−p) full-rank matrix where V is a zero matrix. Tis assumed to be full rank, but those skilled in the art can easily construct equations for cases where this is not the case.
[0036] Herein, the matrix Φ ex is the “external force component extraction matrix”, φ ex is called the "external force component" of φ. In the present invention, φ in equation (26) in is called the "internal force component" of φ.
[0037] In this specification, the external force component extraction matrix Φ ex Using φ to external force component φ ex or internal force component φ in The process of finding this is called "extraction." This extraction can be summarized in the form of a function as shown in equations (27) and (28). Ψ ex is a function that extracts the external force component of the second argument vector when the coefficient κ is 1, and Ψ in is a function that extracts the internal force component of the second argument vector when the coefficient κ is 1. When the coefficient κ is 0, the function Ψ ex outputs the second argument vector as is, and Ψ in will be 0.
[0038] In addition, the generalized force vector sequence [ B φ F1B T , ..., B φ FnB T ] T The generalized force vector that each leg exerts on the body from B φ FkB (kε{1,...,n}) is obtained. Then, as shown in equation (13), this generalized force vector B φ FkB Joint torque vector τ of each leg Fk (k∈{1,...,n}) is obtained. More specifically, the joint torque vector τ Fk is calculated as in equation (29). The matrix U is suitably determined, for example, by taking into consideration the rated torque of the actuator of each joint. For example, when the number of actuators m in each leg is 6 or more and the actuator of each joint outputs a torque equal to the rated torque, the generalized force vector sequence φ * Index related to the size of ||Uφ * To make ∥ equal to 1, the matrix U can be set as shown in equation (30). Here, D k is an m × m diagonal matrix in which the rated torque values of the m actuators of the k-th leg are arranged on a diagonal line. When the number of joints in each leg is 6 or more (i.e., m≧6), the external force component extraction matrix Φ is calculated using this matrix U and equation (24). ex can be obtained.
[0039] [5-4. Simple Extraction Example 1] The concept of extracting external and internal force components can be easily understood by simplifying a legged robot with a trunk and two legs (left and right legs) as shown in Figure 9. In Figure 9, there is a mass point corresponding to the trunk in one-dimensional space, and actuators corresponding to the left and right legs are attached to the left and right of this. In this extraction example, it is assumed that the rated outputs of the left and right actuators are the same.
[0040] The force applied by the left leg actuator to the torso is f L , the force applied by the right leg actuator to the torso is f R Then, the resultant force acting on the body is f B is f L +f R In this case, the matrix Π is [1, 1]. In addition, in this case, the generalized force vector sequence [f L , f R ] T The size of the L 2 +f R 2 ), the matrix U is expressed as in equation (31).
[0041] From these facts, the external force component extraction matrix Φ ex is calculated as shown in equation (32). Therefore, the generalized force vector sequence [f L , f R ] T The external force component (i.e., f L External force component f L,ex and f R External force component f R,ex ), and internal force components (i.e., f L Internal force component f L,in and f R External force component f R,in ) can be extracted using equations (33) and (34).
[0042] For example, the force command value for each leg is [f L = 4N, f R = 2N], the external force component is [f L,ex = 3N, f R,ex = 3N] and the internal force component is [f L,in = 1N, f R,in =-1N]. The force command value for each leg is [f L = 4N, f R = -2N], the external force component is [f L,ex = 1N, f R,ex = 1N] and the internal force component is [f L,in = 3N, f R,in =-3N]. The external force component can be said to be the force command value for each leg averaged and divided equally between both legs. The internal force component is a component that compresses (or pulls) the trunk from the left and right with the same force, and does not contribute to the movement of the trunk.
[0043] [5-5. Simple Extraction Example 2] In this extraction example, the rated output of the left leg actuator is assumed to be twice the rated output of the right leg actuator. In this case, the generalized force vector sequence [f L , f R ] T The size of √((f L / 2) 2 +f R 2 ) and then, the matrix U and the external force component extraction matrix Φ exare expressed as equations (35) and (36). Therefore, the external force component (f L,ex , f R,ex ) and internal force component (f L,in , f R,in ) can be extracted using equations (37) and (38).
[0044] For example, the force command value for each leg is [f L = 4N, f R = 2N], the external force component is [f L,ex = 4.8 N, f R,ex = 1.2N] and the internal force component is [f L,in = -0.8N, f R,in = 0.8N]. The force command value for each leg is [f L = 4N, f R = -2N], the external force component is [f L,ex = 1.6 N, f R,ex = 0.4N], and the internal force component is [f L,in = 2.4 N, f R,in =-2.4 N]. The external force component can be said to be the force command value for each leg, averaged while taking into account the rated output of the actuator as a distance standard, and then divided equally between both legs. Also, as in Extraction Example 1, the internal force component is a component that compresses (or pulls) the trunk from the left and right with the same force, and does not contribute to the movement of the trunk.
[0045] Next, first to fourth embodiments of the legged robot according to the present invention will be described with reference to the accompanying drawings.
[0046] [6. First embodiment] [6-1. Overall configuration] Fig. 1 shows a legged robot 30A according to a first embodiment of the present invention. The legged robot 30A includes a body (not shown in Fig. 1), one leg 31 connected to the body, and a hybrid controller 20A that controls the leg 31. The hybrid controller 20A may be integrated into the body, or may be provided at a location separate from the body.
[0047] The leg 31 includes a foot 33 having a sole that can apply torque in contact with the ground 50, a leg 32, and at least one joint. At least one load cell that measures torque applied to the foot 33 from the ground 50 is provided on the sole of the foot 33. Furthermore, an actuator is provided at each joint.
[0048] The hybrid controller 20A includes a leg controller 21 that outputs a torque command in response to an operator's command, and an autobalance controller 10A that outputs a torque command related to automatic maintenance of balance, and the autobalance controller 10A further includes a horizontal direction controller 11 and a center of pressure controller 12. An example of the leg controller 21 is a force-propagating bilateral controller proposed by the inventor of the present application in Japanese Patent Application No. 2014-093322 and the like.
[0049] The leg controller 21 outputs a torque command in response to force information sent from a leg operating device 40 operated by an operator. B φ FB,O In other words, the leg controller 21 outputs a torque command based on an arbitrary control. B φ FB,O The leg controller 21 also outputs the angle vector q of the joint included in the leg 31. F The leg operation device 40 may be integrated into the legged robot 30A or may be provided at a location remote from the legged robot 30A. When the legged robot 30A is a large working machine or the like equipped with a passenger seat, the leg operation device 40 can be said to be integrated into the legged robot 30A. B φ FB,O corresponds to the "first torque command" of the present invention.
[0050] The horizontal direction controller 11 calculates the angle vector q of the joint included in the leg 31. F Torque command obtained from B φ FB,A Torque command is output. B φ FB,A This corresponds to the "third torque command" of the present invention. B φ FB,AThe output of the .
[0051] The center of pressure controller 12 calculates the angle vector q of the joint included in the leg 31. F and a ground reaction torque vector n related to the reaction force applied by the ground 50 to the foot 33. FG Torque command calculated from B φ FB,B Torque command is output. B φ FB,B This corresponds to the "fourth torque command" of the present invention. B φ FB,B The output of the .
[0052] The autobalance controller 10A receives a torque command B φ FB,A and torque command B φ FB,B This torque command corresponds to the "second torque command" of the present invention.
[0053] The hybrid controller 20A controls the torque command output from the leg controller 21. B φ FB,O a torque command indicating the sum of the torque amounts indicated by the torque command (first torque command) output by the autobalance controller 10A and the torque command (second torque command) output by the autobalance controller 10A; B φ FB is output as a command relating to the torque to be generated by the actuator of the joint included in the leg 31.
[0054] In this embodiment, the relationship between the torque commands output by the controllers can be expressed as in equation (39).
[0055] 2, the horizontal direction controller 11 outputs torque commands indicating the amount of torque that the actuators of the joints should generate in order to position the body 34 of the legged robot 30A substantially vertically above the soles of the feet 33. B φ FB,A The horizontal direction controller 11 can also be said to be a controller for controlling the positional relationship between the body 34 and the feet 33 in the approximately horizontal direction to be a predetermined positional relationship.
[0056] The horizontal direction controller 11 calculates the torque command calculated by the equation (40). B φ FB,A Output. where: B R F is a posture matrix that indicates the posture of the foot coordinate system F as viewed from the body coordinate system B, as described above. F n BF,A is a torque vector that the foot 33 should apply to the body 34, expressed in the foot coordinate system F. Note that the posture matrix B R F is the angle vector q of the joint included in the leg 31 F The determination can be made based on the following:
[0057] Torque Vector F n BF,A can be expressed as in equation (41). Here, K A is the properly set proportional gain, and B A is the appropriately set derivative gain, and F r BF is the position vector of the body 34 as seen from the foot coordinate system F. F r BF is the angle vector q of the joint included in the leg 31 F The determination can be made based on the following:
[0058] [6-3. Center of Pressure Controller] As shown in FIG. 3, the center of pressure controller 12 controls the torque command 14 to generate torques from the actuators of the respective joints so that the center of pressure (the so-called "CoP"; hereinafter also referred to as "ZMP") of the floor reaction force that the sole of the foot 33 receives from the ground 50 is located at a predetermined position within the sole of the foot. B φ FB,B Output.
[0059] The center of pressure controller 12 calculates the floor reaction torque vector F expressed in the foot coordinate system F obtained from the load cell attached to the sole of the foot. F n FG Then, the incomplete integration expressed by the equation (42) is performed using Here, K IB is the properly set integral gain, and K PBis the appropriately set proportional gain, and β B is a properly set time constant. F n FGI,B is the floor reaction torque vector F n FG For example, if the body 34 is continuously pushed by a constant external force, the floor reaction torque vector F n FG Even if maintains a constant non-zero value for a long period of time, F n FGI,B does not grow without limit.
[0060] The center of pressure controller 12 generates a torque command relating to the amount of torque that the leg 32, expressed in the foot coordinate system F, should apply to the foot 33 based on a so-called ankle strategy. F φ FB,B is determined as shown in equation (43). Torque command output by the pressure center controller 12 B φ FB,B This torque command F φ FB,B is expressed in the body coordinate system. B φ FB,B can be calculated by equation (44). Torque Command B φ FB,B is said to be limited by an imperfect integrator. B R F is the angle vector q of the joint included in the leg 31 F The determination can be made based on the following:
[0061] For example, if the foot 33 has a toe and a heel, the foot 33 and the leg 32 are connected via an ankle joint, and an external force applied to the torso 34 causes the ZMP to be continuously shifted from a predetermined position in the sole toward the toe, the center of pressure controller 12 generates a torque in the leg 31 (particularly, the actuator of the ankle joint) that tilts the torso 34 backward (toward the heel). This causes the ZMP to approach the predetermined position in the sole.
[0062] According to the legged robot 30A of this embodiment, the horizontal direction control and the center of pressure control are performed simultaneously in parallel, thereby making it possible to maintain balance more reliably than conventional methods.
[0063] 4 shows a legged robot 30B according to a second embodiment of the present invention. The legged robot 30B differs from the legged robot 30A in that it is equipped with a hybrid controller 20B instead of the hybrid controller 20A, but is otherwise the same as the legged robot 30A.
[0064] Hybrid controller 20B differs from hybrid controller 20A in that it includes autobalance controller 10B instead of autobalance controller 10A, but is common to hybrid controller 20A in other respects. Also, autobalance controller 10B differs from autobalance controller 10A in that it further includes vertical direction controller 13, but is common to autobalance controller 10A in other respects (particularly, the inclusion of horizontal direction controller 11 and center of pressure controller 12).
[0065] The vertical direction controller 13 calculates the angle vector q of the joint included in the leg 31. F Torque command obtained from B φ FB,C Torque command is output. B φ FB,C This corresponds to the "fifth torque command" of the present invention. B φ FB,C The output of the .
[0066] The autobalance controller 10B receives a torque command B φ FB,A , torque command B φ FB,B and torque command B φ FB,C This torque command corresponds to the "second torque command" of the present invention.
[0067] The hybrid controller 20B controls the torque command output from the leg controller 21.B φ FB,O a torque command indicating the sum of the torque amounts indicated by the torque command (first torque command) output by the autobalance controller 10B and the torque command (second torque command) output by the autobalance controller 10B; B φ FB is output as a command relating to the torque to be generated by the actuator of the joint included in the leg 31.
[0068] In this embodiment, the relationship between the torque commands output by the controllers can be expressed as in equation (45).
[0069] [7-2. Vertical Direction Controller] As shown in FIG. 5, the vertical direction controller 13 outputs a torque command indicating the amount of torque that the actuators of the joints should generate in order to bring the substantially vertical position (i.e., height) of the body 34 of the legged robot 30B closer to a predetermined neutral state. B φ FB,C The vertical direction controller 13 can also be said to be a controller for controlling the positional relationship between the trunk 34 and the soles of the feet 33 in the substantially vertical direction to a predetermined positional relationship.
[0070] The vertical direction controller 13 outputs the torque command calculated by the equation (46). B φ FB,C Output. Here, K C is the properly set proportional gain, and B C is an appropriately set differential gain. d is the target height corresponding to the predetermined neutral state of the fuselage 34, B r FB,d is the position vector of the foot seen from the body coordinate system B B r FB is the target value for e z is the vertical unit vector expressed in the body coordinate system, i.e., e z = (R B ) T [0, 0, 1] T This orientation matrix R B can be calculated if an inertial measurement unit (IMU) is attached to the body. BIf it is not possible to calculate, the xy plane of the foot coordinate system is assumed to be approximately horizontal, and e z = B R F [0, 0, 1] T Orientation matrix B R F is the angle vector q of the joint included in the leg 31 F The "predetermined neutral state" can be determined based on the above formula. The "predetermined neutral state" may be a single target height value, a range of values, or a set of multiple values. To achieve a neutral state for a range of values, for example, the first term of the first component on the right side of equation (46) can be replaced with another formula using a dead-band function. Those skilled in the art can easily construct such a formula. Furthermore, those skilled in the art can easily replace the first term of the first component on the right side of equation (46) with a formula that achieves a neutral state for multiple values.
[0071] According to the legged robot 30B of this embodiment, the horizontal control, center of pressure control, and vertical control are performed simultaneously in parallel, allowing the robot to maintain balance more reliably than the legged robot 30A of the first embodiment.
[0072] [8. Third Embodiment] [8-1. Overall Configuration] Fig. 6 shows a legged robot 30C according to a third embodiment of the present invention. The legged robot 30C includes a trunk (not shown in Fig. 6), two legs 31L, 31R connected to the trunk, and a hybrid controller 20C that controls the legs 31L, 31R. The hybrid controller 20C may be integrated into the trunk, or may be provided at a location separate from the trunk.
[0073] The left leg 31L includes a foot 33L having a sole that can apply torque in contact with the ground 50, a leg 32L, and at least one joint. At least one load cell that measures torque applied to the foot 33L from the ground 50 is provided on the sole of the foot 33L. Furthermore, an actuator is provided at each joint.
[0074] The right leg 31R includes a foot 33R having a sole that can apply torque in contact with the ground 50, a leg 32R, and at least one joint. At least one load cell that measures torque applied to the foot 33R from the ground 50 is provided on the sole of the foot 33R. Furthermore, an actuator is provided at each joint.
[0075] The hybrid controller 20C includes a leg controller 21L for controlling the left leg 31L and a leg controller 21R for controlling the right leg 31R, as well as an auto-balance controller 10C for automatically maintaining balance. The auto-balance controller 10C also includes a horizontal direction controller 11L, a center of pressure controller 12L, and a vertical direction controller 13L for controlling the left leg 31L, a horizontal direction controller 11R, a center of pressure controller 12R, and a vertical direction controller 13R for controlling the right leg 31R, as well as an external force component extraction matrix calculation unit 14 and external force component extraction units 15, 16, and 17 related to the control of both legs 31L and 31R.
[0076] The leg controller 21L outputs a torque command in response to force information sent from the left leg operating device 40L operated by the operator. B φ FLB,O The leg controller 21L also outputs the angle vector q of the joint included in the left leg 31L. FL The position information according to the torque command is fed back to the left leg operating device 40L. B φ FLB,O is the "first torque command" for the left leg 31L.
[0077] The leg controller 21R outputs a torque command in response to force information sent from the right leg operating device 40R operated by the operator. B φ FRB,O The leg controller 21R also outputs the angle vector q of the joint included in the right leg 31R. FR The position information according to the torque command is fed back to the right leg operating device 40R. B φ FRB,O is the "first torque command" for the right leg 31R.
[0078] The horizontal direction controller 11L calculates the angle vector q of the joint included in the left leg 31L.FL Torque command obtained from B φ FLB,A Torque command is output. B φ FLB,A is a "third torque command" for the left leg 31L.
[0079] The horizontal direction controller 11R calculates the angle vector q of the joint included in the right leg 31R. FR Torque command obtained from B φ FRB,A Torque command is output. B φ FRB,A is a "third torque command" for the right leg 31R.
[0080] The center of pressure controller 12L calculates the angle vector q of the joint included in the left leg 31L. FL and a floor reaction torque vector n related to the reaction force applied by the ground 50 to the foot 33L. FLG Torque command obtained from B φ FLB,B Torque command is output. B φ FLB,B is the "fourth torque command" for the left leg 31L.
[0081] The center of pressure controller 12R calculates the angle vector q of the joint included in the right leg 31R. FR and a floor reaction torque vector n related to the reaction force applied by the ground 50 to the foot 33R. FRG Torque command obtained from B φ FRB,B Torque command is output. B φ FRB,B is the "fourth torque command" for the right leg 31R.
[0082] The vertical direction controller 13L calculates the angle vector q of the joint included in the left leg 31L. FL Torque command obtained from B φ FLB,C Torque command is output. B φ FLB,C is the "fifth torque command" for the left leg 31L.
[0083] The vertical direction controller 13R calculates the angle vector q of the joint included in the right leg 31R. FR Torque command obtained from B φ FRB,CTorque command is output. B φ FRB,C is the "fifth torque command" for the right leg 31R.
[0084] The external force component extraction matrix calculation unit 14 calculates the angle vector q of the joints included in both legs 31L and 31R. FL , q FR from the external force component extraction matrix Φ ex The force component extraction matrix calculation unit 14 performs this calculation using equation (24). Note that the matrix Π in equation (24) is defined in equation (19). Also, the matrix B Pi FkB is defined by the formula (17). The external force component extraction matrix calculation unit 14 calculates the position vector B r FkB angle vector q FL , q FR The decision is based on:
[0085] The external force component extraction unit 15 extracts the external force component extraction matrix Φ calculated by the external force component extraction matrix calculation unit 14. ex The torque commands output by the horizontal direction controllers 11L and 11R are calculated using the B φ FLB,A , B φ FRB,A The external force component extraction unit 15 performs this extraction using equation (23).
[0086] The external force component extraction unit 16 extracts the external force component extraction matrix Φ calculated by the external force component extraction matrix calculation unit 14. ex The torque command output by the pressure center controllers 12L and 12R is calculated using the B φ FLB,B , B φ FRB,B The external force component extraction unit 16 performs this extraction using equation (23).
[0087] Similarly, the external force component extraction unit 17 extracts the external force component extraction matrix Φ calculated by the external force component extraction matrix calculation unit 14. ex The torque commands output by the vertical direction controllers 13L and 13R are calculated using the B φ FLB,C , B φ FRB,CThe external force component extracting unit 17 performs this extraction using equation (23).
[0088] The autobalance controller 10C receives a torque command B φ FLB,A , torque command B φ FLB,B and torque command B φ FLB,C The torque command is a "second torque command" for the left leg 31L.
[0089] The autobalance controller 10C also receives a torque command B φ FRB,A , torque command B φ FRB,B and torque command B φ FRB,C This torque command is a "second torque command" for the right leg 31R.
[0090] The hybrid controller 20C controls the torque command output by the leg controller 21L. B φ FLB,O a torque command indicating the sum of the torque amounts indicated by the torque command (first torque command) and the torque command (second torque command) for the left leg 31L output by the autobalance controller 10C; B φ FLB is output as a command regarding the torque to be generated by the actuator of the joint included in the left leg 31L.
[0091] The hybrid controller 20C also controls the torque command output by the leg controller 21R. B φ FRB,O a torque command indicating the sum of the torque amounts indicated by the torque command (first torque command) and the torque command (second torque command) for the right leg 31R output by the autobalance controller 10C; B φ FRB is output as a command regarding the torque to be generated by the actuator of the joint included in the right leg 31R.
[0092] In this embodiment, the relationship between the torque commands output by the controllers can be expressed as in equation (47). Here, κ is a coefficient that is 1 when both the left leg 31L and the right leg 31R are in contact with the ground, and is 0 when only the left leg 31L or only the right leg 31R is in contact with the ground. In this embodiment, as shown in Table 1, the horizontal direction controllers 11L, 11R, center of pressure controllers 12L, 12R, and vertical direction controllers 13L, 13R are enabled / disabled depending on the coefficient κ and the ground contact status of the left leg 31L and the right leg 31R. Disabled controllers output torque commands that indicate zero. For example, when only the left leg 31L is in contact with the ground, the horizontal direction controller 11L is enabled and the horizontal direction controller 11R is disabled. When both the left leg 31L and the right leg 31R are in contact with the ground, the horizontal direction controllers 11L and 11R are enabled.
[0093] According to the legged robot 30C of this embodiment, balance can be maintained more reliably than before by performing horizontal control, center of pressure control, and vertical control simultaneously in parallel.
[0094] Furthermore, the legged robot 30C according to this embodiment does not directly use the outputs of the controllers 11L, 11R, 12L, 12R, 13L, and 13R included in the autobalancing controller 10C, but instead uses external force components of these outputs. Therefore, the legged robot 30C can avoid a situation in which the left leg 31L and the right leg 31R compress or pull the torso 34 from two directions. This contributes to reducing the load on the actuators that form the joints of the left leg 31L and the right leg 31R and reducing the power consumption of these actuators, and also prevents the control outputs of different legs from interfering with each other and causing a breakdown.
[0095] 7 shows a legged robot 30D according to a fourth embodiment of the present invention. Legged robot 30D differs from legged robot 30C in that it is equipped with hybrid controller 20D instead of hybrid controller 20C, but is otherwise the same as legged robot 30C.
[0096] Hybrid controller 20D differs from hybrid controller 20C in that it includes autobalance controller 10D instead of autobalance controller 10C, but is common in other respects with hybrid controller 20C. Also, autobalance controller 10D differs from autobalance controller 10C in that it further includes ground contact controller 18L for controlling left leg 31L, ground contact controller 18R for controlling right leg 31R, and internal force component extraction unit 19, but is common in other respects with autobalance controller 10C.
[0097] The ground contact controller 18L calculates the angle vector q of the joint included in the left leg 31L. FL and a floor reaction torque vector n related to the reaction force applied by the ground 50 to the foot 33L. FLG Torque command calculated from B φ FLB,D Torque command is output. B φ FLB,D is a "sixth torque command" for the left leg 31L. B φ FLB,D The output of the .
[0098] The ground contact controller 18R calculates the angle vector q of the joint included in the left leg 31R. FR and a floor reaction torque vector n related to the reaction force applied by the ground 50 to the foot 33R. FRG Torque command calculated from B φ FRB,D Torque command is output. B φ FRB,D is the "sixth torque command" for the left leg 31R. B φ FRB,D The output of the .
[0099] The internal force component extraction unit 19 extracts the external force component extraction matrix Φ calculated by the external force component extraction matrix calculation unit 14. ex The torque command output by the grounding controllers 18L and 18R is calculated using the B φ FLB,D , B φ FRB,DThe internal force component extracting unit 19 performs this extraction using equation (26).
[0100] The autobalance controller 10D receives a torque command B φ FLB,A , torque command B φ FLB,B and torque command B φ FLB,C External force components and torque command B φ FLB,D This torque command is a "second torque command" for the left leg 31L.
[0101] The autobalance controller 10D also receives a torque command B φ FRB,A , torque command B φ FRB,B and torque command B φ FRB,C External force components and torque command B φ FRB,D This torque command is a "second torque command" for the right leg 31R.
[0102] The hybrid controller 20D controls the torque command output by the leg controller 21L. B φ FLB,O a torque command indicating the sum of the torque amounts indicated by the torque command (first torque command) and the torque command (second torque command) for the left leg 31L output by the autobalance controller 10D; B φ FLB is output as a command regarding the torque to be generated by the actuator of the joint included in the left leg 31L.
[0103] The hybrid controller 20D also controls the torque command output from the leg controller 21R. B φ FRB,O a torque command indicating the sum of the torque amounts indicated by the torque command (first torque command) and the torque command (second torque command) for the right leg 31R output by the autobalance controller 10D; B φ FRB is output as a command regarding the torque to be generated by the actuator of the joint included in the right leg 31R.
[0104] In this embodiment, the relationship between the torque commands output by the controllers is expressed as in equation (48). Here, as described above, κ is a coefficient that is 1 when both the left leg 31L and the right leg 31R are in contact with the ground, and is 0 when only the left leg 31L or only the right leg 31R is in contact with the ground. In this embodiment, as shown in Table 2, the horizontal direction controllers 11L, 11R, center of pressure controllers 12L, 12R, vertical direction controllers 13L, 13R, and ground contact controllers 18L, 18R are enabled / disabled depending on the coefficient κ and the ground contact status of the left leg 31L and the right leg 31R. Disabled controllers output torque commands that indicate zero.
[0105] [9-2. Ground Contact Controller] As shown in FIG. 8, the ground contact controllers 18L, 18R generate torque commands that indicate the amount of torque that the actuators of the joints should generate to prevent the foot 33L or the foot 33R from lifting off the ground 50 due to the influence of center of pressure control when both the left leg 31L and the right leg 31R are in contact with the ground. B φ FLB,D , B φ FRB,D The ground contact controllers 18L, 18R can also be said to be controllers for keeping the soles of the feet 33L, 33R in contact with the ground 50.
[0106] The ground contact controller 18L calculates the floor reaction torque vector obtained from a load cell attached to the sole of the foot 33L. F n FLG Then, the incomplete integration expressed by equation (49) is performed using Here, K ID is the properly set integral gain, and K PD is the appropriately set proportional gain, and β D is a properly set time constant. F n FLGI,D is the floor reaction torque vector F n FLG For example, if the body 34 is continuously pushed by a constant external force, the floor reaction torque vector F n FLGEven if maintains a constant non-zero value for a long period of time, F n FLGI,B does not become infinitely large. ID , proportional gain K PD and time constant β D is the K used in the center of pressure control IB , K. PB and β B It may be the same as or different from these.
[0107] The ground controller 18L F n FLGI,D The torque command calculated by the equation (50) using B φ FLB,D Output. In addition, the posture matrix B R FL is the angle vector q of the joint included in the left leg 31L FL The determination can be made based on the following:
[0108] The ground controller 18R receives the torque command obtained in the same manner. B φ FRB,D Output.
[0109] Torque commands output by the pressure center controllers 12L and 12R B φ FLB,B , B φ FRB,B Similarly, torque command B φ FLB,D , B φ FRB,D is said to be limited by an imperfect integrator.
[0110] According to the legged robot 30D of this embodiment, the horizontal control, center of pressure control, vertical control, and ground contact control are performed simultaneously in parallel, allowing the robot to maintain balance more reliably than the legged robot 30C of the third embodiment.
[0111] Furthermore, the legged robot 30C according to this embodiment does not use the outputs of the ground contact controllers 18L, 18R as they are, but rather uses the internal force components of the outputs, so that the legged robot 30D can keep the feet 33L, 33R in contact with the ground without moving the trunk 34.
[0112] [10. Modifications] Although the first to fourth embodiments of the legged robot according to the present invention have been described above, the configuration of the present invention is not limited to these.
[0113] For example, the horizontal direction controllers 11, 11L, and 11R receive torque commands indicating the amount of torque that the actuators of the joints should generate in order to position the trunk 34 substantially vertically above the soles of the feet 33, 33L, and 33R. B φ FB,A may be calculated using equation (51). Here, K A is the properly set proportional gain, and B A is an appropriately set differential gain. x and e y is the horizontal unit vector expressed in the body coordinate system, and e x = (R B ) T [1, 0, 0] T and e y = (R B ) T [0, 1, 0] T This orientation matrix R B can be calculated if an inertial measurement unit (IMU) is attached to the body. B If it is not possible to calculate, the xy plane of the foot coordinate system is assumed to be approximately horizontal, and e z = B R F [0, 0, 1] T and e z = B R F [0, 0, 1] T Orientation matrix B R F is the angle vector q of the joint included in the leg 31 FThe horizontal direction controllers 11, 11L, and 11R according to equation (51) generate only a translational force on the foot, and do not generate a rotational force (torque). This allows the ankle joint torque assigned to the center of pressure controller to be increased within the range of the "ankle joint torque limit to prevent the sole of the foot from lifting off the ground," which is unavoidable in center of pressure control as an ankle strategy. In addition, by reducing the maximum torque required for the ankle joint actuator, the weight of the tip of the foot can be reduced, which is an advantage not found in the implementation according to equation (40).
[0114] Furthermore, the vertical direction controllers 13, 13L, and 13R output torque commands indicating the torque amounts that the actuators of the joints should generate in order to bring the displacements of the joints included in the legs 31, 31L, and 31R closer to a predetermined neutral state. B φ FB,C Such a torque command may be output. B φ FB,C can be calculated by equation (52). Here, K C is the properly set proportional gain, and B C is the appropriately set differential gain. F is the joint angle vector, and q F,d is the angle vector q F The "predetermined neutral state" may be a single target value, a range of target values, or a set of multiple values. When the range of values is set to the neutral state, for example, (q F,d -q F ) in equation (52) can be easily modified to another equation using an appropriate dead band function. F,d -q F It would be easy for a person skilled in the art to replace the part (52) with an equation in which multiple values are in a neutral state. Furthermore, although the inverse matrix in equation (52) does not exist when the number of joints in the legs 31, 31L, and 31R is not six, a person skilled in the art could easily construct a similar algorithm that can be used in such a case.
[0115] Furthermore, by setting appropriate controllers, the horizontal direction controllers 11, 11L, 11R and the vertical direction controllers 13, 13L, 13R can be formally combined into one controller, as in equation (53), for example. Here, K C is the properly set proportional gain, and B C is the appropriately set derivative gain, and B r FB,d is the position vector of the foot seen from the body coordinate system B B r FB and is a target value that represents a predetermined neutral state where the control targets of both the horizontal direction controllers 11, 11L, 11R and the vertical direction controllers 13, 13L, 13R can be achieved.
[0116] The imperfect integrators used in the center of pressure controllers 12, 12L, 12R and the ground contact controllers 18L, 18R may be imperfect integrators with limiters. Unlike the output limitation of imperfect integrators that depends on the input, this limiter explicitly limits the output.
[0117] Furthermore, the legged robot 30C according to the third embodiment may omit some or all of the external force component extraction units 15, 16, and 17. When all of these units are omitted, the external force component extraction matrix calculation unit 14 can also be omitted.
[0118] Similarly, the legged robot 30D according to the fourth example may omit some or all of the external force component extraction units 15, 16, and 17 and the internal force component extraction unit 19. If all of these are omitted, the external force component extraction matrix calculation unit 14 can also be omitted.
[0119] Furthermore, the legged robot 30C according to the third embodiment may omit the vertical direction controllers 13L and 13R, in which case the external force component extractor 17 may also be omitted.
[0120] Furthermore, the feet 33, 33L, and 33R in each embodiment may be provided with a floor reaction force detection sensor other than a load cell. For example, by disposing a multi-axis force sensor in the foot, it is possible to measure the required floor reaction force.
[0121] Furthermore, the legged robot according to the present invention may have three or more identical or different legs.
[0122] 10A, 10B, 10C, 10D Autobalance controller 11, 11L, 11R Horizontal direction controller 12, 12L, 12R Center of pressure controller 13, 13L, 13R Vertical direction controller 14 External force component extraction matrix calculation unit 15 External force component extraction unit 16 External force component extraction unit 17 External force component extraction unit 18L, 18R Ground contact controller 19 Internal force component extraction unit 20A, 20B, 20C, 20D Hybrid controller 21, 21L, 21R Leg controller 30A, 30B, 30C, 30D Legged robot 31 Leg 31L Left leg 31R Right leg 32, 32L, 32R Leg portion 33, 33L, 33R Foot portion 34 Torso 40 Leg operation device 40L Left leg operating device 40R Right leg operating device
Claims
1. A legged robot comprising a trunk, legs connected to the trunk, and hybrid controllers for controlling the legs, wherein the legs include feet having soles capable of contacting the ground, legs, and at least one joint, wherein the hybrid controller includes an auto-balance controller that outputs a first torque command related to automatic balance maintenance, and a leg controller that outputs a second torque command based on arbitrary control, and is configured to output a torque command indicating the sum of the torque amounts indicated by the first torque command and the second torque command as a command related to the torque to be generated by the actuators of the joints, wherein the auto-balance controller includes a horizontal direction controller that outputs a third torque command, and a center of pressure controller that outputs a fourth torque command, and is configured to output a torque command indicating the sum of the torque amounts indicated by the third torque command and the fourth torque command as the first torque command, and the third torque command is a command related to the torque to be generated by the actuators of the joints so that the trunk is approximately vertically above the soles of the feet, the fourth torque command is a command regarding the torque that the actuator of the joint should generate so that the center of pressure of the floor reaction force that the sole of the foot receives from the ground is at a predetermined position within the sole of the foot, and the amount of torque indicated by the fourth torque command is limited so that it does not become infinitely large.
2. The legged robot according to claim 1, wherein the autobalance controller further includes a vertical direction controller that outputs a fifth torque command, and is configured to output a torque command that indicates the sum of the torque amounts indicated by the third torque command, the fourth torque command, and the fifth torque command as the first torque command, and the fifth torque command is a command regarding the torque that the actuator of the joint should generate so that the approximately vertical position of the trunk approaches a predetermined neutral state, or a command regarding the torque that the actuator of the joint should generate so that the displacement of the joint approaches a predetermined neutral state.
3. The legged robot according to claim 1 or 2, characterized in that the center of pressure controller limits the torque amount indicated by the fourth torque command by using an imperfect integrator.
4. The legged robot according to claim 3, wherein the imperfect integrator is an imperfect integrator with a limiter that limits the output.
5. A legged robot comprising a trunk, a plurality of legs connected to the trunk, and a hybrid controller for controlling the plurality of legs, wherein each of the plurality of legs comprises: a foot having a sole capable of contacting the ground; a leg; and at least one joint; the hybrid controller comprises: an autobalance controller for outputting a first torque command for automatic balance maintenance for each of the legs; and a leg controller for outputting a second torque command based on arbitrary control for each of the legs, and is configured to output a torque command indicating the sum of the torque amounts indicated by the first torque command and the second torque command for the same leg as a command for the torque to be generated by the actuator of the joint included in the leg; the autobalance controller comprises: a horizontal direction controller for outputting a third torque command for each of the legs; and a center of pressure controller for outputting a fourth torque command for each of the legs, and is configured to output a torque command indicating the sum of the torque amounts indicated by the third torque command and the fourth torque command for the same leg as the first torque command for the leg; the third torque command is a command regarding the torque that the actuator of the joint should generate so that the torso is positioned approximately vertically above the sole of the foot; the fourth torque command is a command regarding the torque that the actuator of the joint should generate so that the center of pressure of the floor reaction force that the sole of the foot receives from the ground is located at a predetermined position within the sole of the foot; and the amount of torque indicated by the fourth torque command is limited so that it does not become infinitely large.
6. The legged robot according to claim 5, wherein the autobalance controller further includes a vertical direction controller that outputs a fifth torque command for each leg, and is configured to output a torque command indicating the sum of the torque amounts indicated by the third torque command, the fourth torque command, and the fifth torque command for the same leg as the first torque command for that leg, and the fifth torque command is a command regarding the torque that the actuator of the joint should generate so that the approximately vertical position of the trunk approaches a predetermined neutral state, or a command regarding the torque that the actuator of the joint should generate so that the displacement of the joint approaches a predetermined neutral state.
7. The legged robot according to claim 6, characterized in that the autobalance controller further includes an external force component extraction unit that extracts the external force components of the third torque command, the fourth torque command, and the fifth torque command, and is configured to output a torque command that indicates the sum of the torque amounts indicated by the external force component of the third torque command, the external force component of the fourth torque command, and the external force component of the fifth torque command for the same leg as the first torque command for that leg.
8. The legged robot according to claim 7, characterized in that the autobalance controller further includes a ground contact controller that outputs a sixth torque command for each leg, and an internal force component extraction unit that extracts an internal force component of the sixth torque command, and is configured to output, as the first torque command for the same leg, a torque command that indicates the sum of the torque amounts indicated by the external force component of the third torque command, the external force component of the fourth torque command, the external force component of the fifth torque command and the internal force component of the sixth torque command, and the sixth torque command for the same leg, and the sixth torque command is a command regarding the torque that should be generated by the actuator of the joint in order to keep the sole of the foot in contact with the ground.
9. A legged robot according to any one of claims 5 to 8, characterized in that the center of pressure controller limits the torque amount indicated by the fourth torque command by using an imperfect integrator.
10. The legged robot according to claim 9, wherein the imperfect integrator is an imperfect integrator with a limiter that limits the output.
Citation Information
Patent Citations
Hybrid control device and method of multi-leg walking type moving device
JP2010214511A