WO2022176751A1 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
WO2022176751A1
WO2022176751A1 PCT/JP2022/005232 JP2022005232W WO2022176751A1 WO 2022176751 A1 WO2022176751 A1 WO 2022176751A1 JP 2022005232 W JP2022005232 W JP 2022005232W WO 2022176751 A1 WO2022176751 A1 WO 2022176751A1
Authority
WO
WIPO (PCT)
Prior art keywords
center
change amount
gravity
robot
robot device
Prior art date
Application number
PCT/JP2022/005232
Other languages
English (en)
French (fr)
Inventor
将也 木下
憲一郎 長阪
憲明 高杉
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to EP22756071.1A priority Critical patent/EP4296010A1/en
Priority to US18/546,281 priority patent/US20240126303A1/en
Publication of WO2022176751A1 publication Critical patent/WO2022176751A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/654Landing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/40Control within particular dimensions
    • G05D1/49Control of attitude, i.e. control of roll, pitch or yaw
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles
    • G05D2109/12Land vehicles with legs

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a program.
  • legged robot devices robot devices with legs
  • a legged robot device can move freely even in an environment including steps, stairs, and rough terrain, in which it is difficult for a wheeled robot device to move. Therefore, the legged robot device is expected to be a mobile body that can replace the transportation of luggage on mountain trails, etc., which has been done by humans.
  • Patent Literature 1 discloses a technique for stabilizing the posture and walking of a bipedal walking robot by controlling the stance leg or swing leg so as to return the upper body of the bipedal walking robot to its original position after being rotated by a disturbance. is disclosed.
  • Patent Document 2 a control task (low cycle) for disturbance stabilization and control for executing a planned task operate in parallel, and when a disturbance enters, the process is switched to achieve 2 Techniques for stabilizing the posture and walking of a legged robot have been disclosed.
  • the conventional technology described above cannot always improve the stability performance of the legged robot against unknown disturbances.
  • the prior art described in Patent Document 1 above only controls the stance or swing legs so as to restore the upper body of a biped robot that has been rotated by a disturbance, and the balance of the center of gravity of the robot as a whole is taken into consideration. Therefore, it may not be said that the disturbance resistance is high.
  • the control task (low cycle) for disturbance stabilization and the control for executing the planned task operate in parallel, and when disturbance enters, the process is performed. However, there is a delay before the control switching timing, so it may not be possible to immediately respond to the disturbance.
  • the present disclosure proposes an information processing device, an information processing method, and a program capable of improving the stability performance of a legged robot device against unknown disturbances.
  • a landing point change amount from a planned landing point position of a landing point position at which a current free leg of a robot device including one or more legs lands next, and a current landing point position of the robot device a calculation unit for calculating a pressure center point change amount from a target pressure center point position of the pressure center position to be generated by the grounding leg, and the landing point change amount or the pressure center point change calculated by the calculation unit and a drive control unit that controls the posture and movement of the robot device based on at least one of the quantities.
  • the amount of change in the landing point from the planned landing point position of the next landing point of the current free leg of the robot device having one or more legs is calculated by the arithmetic processing unit. , or calculating a pressure center point change amount from a target pressure center point position of the pressure center point position to be generated by the current grounding leg of the robot device, and calculating the landing point change amount or the pressure center point and controlling the attitude and movement of the robotic device based on at least one of the amount of change.
  • the computer calculates the amount of change in landing point from the planned landing point position of the landing point position at which the current free leg of a robotic device having one or more legs will land next, or a calculation unit for calculating a pressure center point change amount from a target pressure center point position to a pressure center point position to be generated by the current grounding leg of the robot device; and the landing point change amount calculated by the calculation unit or A program that functions as a drive control unit that controls the posture and movement of the robot device based on at least one of the pressure center point change amounts is provided.
  • the pressure center position to be generated by the current grounding leg and the landing point position to which the current free leg is to land next in a robot apparatus having one or more legs can be simultaneously and in real time. Therefore, it is possible to improve the stability performance of the legged robot against unknown disturbances.
  • FIG. 4 is a diagram for explaining an overview of control processing of a robot device by an information processing device according to an embodiment of the present disclosure; It is a figure which shows the generation example of the gait of the robot apparatus which concerns on the same embodiment. It is a figure for demonstrating the control model of the robot apparatus which concerns on the same embodiment.
  • FIG. 4 is a diagram showing an output image of the center-of-gravity horizontal stabilizer according to the same embodiment and a relationship between floor reaction force and joint torque; 2 is a block diagram showing the functional configuration of a robot device including the information processing device according to the same embodiment;
  • FIG. FIG. 4 is a diagram showing a center-of-gravity-center-of-pressure model of the robot apparatus according to the same embodiment;
  • FIG. 10 is a diagram showing a stepped center-of-gravity-center-of-pressure model according to the same embodiment;
  • FIG. 10 is a diagram showing a center-of-gravity-center-of-pressure model when a support point is changed according to the same embodiment;
  • FIG. 10 is a diagram for explaining an equation of motion of the center of gravity t seconds after the N-th step lands on the floor according to the same embodiment;
  • FIG. 4 is a diagram for explaining an equation of motion that satisfies a stabilization condition (capture point) according to the same embodiment;
  • FIG. 4 is a diagram showing a configuration example of an output selection matrix used for stabilization according to the embodiment; It is a figure for demonstrating the relationship between the trajectory energy and walking motion which concern on the same embodiment.
  • FIG. 4 is a diagram for explaining an equation of motion that satisfies a stabilization condition (Limit Cycle) according to the same embodiment;
  • 1 is a hardware configuration diagram showing an example of a computer that implements functions of an information processing apparatus;
  • FIG. 1 is a diagram for explaining an overview of control processing of a robot device 1 by an information processing device 100 according to an embodiment of the present disclosure.
  • the robot apparatus 1 is a legged robot apparatus 1 having four legs as shown in FIG. 1
  • the center-of-gravity horizontal stabilizer is the block according to the present invention.
  • the information processing device 100 includes a walking command generator.
  • the walking command generator generates a walking command for the robot device 1 based on the target translational velocity, the target turning angular velocity, and the walking style (gait) of the robot device 1 received from the user.
  • the walking command will be described in detail later with reference to FIG.
  • the information processing apparatus 100 also includes a gait generator.
  • the gait generator generates a chart (hereinafter also referred to as a gait chart) showing the walking pattern of the robot apparatus 1 as shown in FIG. 2, which will be described later, based on the walking commands generated by the walking command generator.
  • the gait generator generates a gait chart and also generates landing point coordinates indicating a planned landing point position of the next landing point position of the current free leg of the robot device 1 .
  • the information processing device 100 also includes a future support point predictor.
  • the future support point predictor uses the gait chart generated by the gait generator to generate ground contact points indicating the planned contact point positions of the ground contact legs of the robot apparatus 1 in each step up to N steps ahead (N is a natural number).
  • An array of supporting point coordinates (hereinafter also referred to as a supporting point array) indicating planned supporting point positions (hereinafter also referred to as planned supporting point positions in each step up to N steps ahead) is generated by averaging the coordinates.
  • the information processing device 100 also includes a posture estimator.
  • the posture estimator estimates the posture angle and posture angular velocity of the robot device 1 based on the acceleration and angular velocity of the robot device 1 detected by an inertial measurement unit (IMU) mounted on the robot device 1 .
  • IMU inertial measurement unit
  • the information processing device 100 also includes a self-position estimator.
  • the self-position estimator determines the position of the robot based on the motor angles of the joints of the robot apparatus 1 detected by encoders mounted on the joints of the robot apparatus 1 and the posture angle and posture angular velocity of the robot apparatus 1 estimated by the posture estimator.
  • a basic position and attitude of the device 1, basic joint angles and basic joint angular velocities are estimated.
  • the information processing apparatus 100 also includes a center-of-gravity estimator.
  • the center-of-gravity estimator calculates the reaction force that each leg receives from the ground plane based on the torque applied to each joint of the leg of the robot device 1 .
  • the center-of-gravity estimator estimates the current planar position of the center-of-gravity of the robot device 1 based on the magnitude of the reaction force that each of the legs receives from the ground plane.
  • the center-of-gravity estimator estimates the current plane velocity of the center of gravity of the robot device 1 based on the plane position of the center of gravity of the robot device 1 .
  • the center-of-gravity estimator estimates the current vertical position of the center of gravity of the robot device 1 by performing geometric calculations using the plane positions of the center of gravity of the robot device 1 in a plurality of postures. Also, the center-of-gravity estimator estimates the current vertical velocity of the center-of-gravity of the robot device 1 based on the vertical position of the center-of-gravity of the robot device 1 .
  • the information processing device 100 also includes a center-of-gravity vertical stabilizer.
  • the center of gravity vertical stabilizer is the reference vertical position of the center of gravity of the robot device 1, the current vertical position and vertical velocity of the center of gravity of the robot device 1 estimated by the center of gravity estimator, and the future support point predictor generated by the Based on the support point array up to N steps ahead, the vertical position (also referred to as vertical trajectory) of the center of gravity of the robot device 1 in each step up to N steps ahead and the target resultant force or target position are calculated.
  • the information processing device 100 also includes a center-of-gravity horizontal stabilizer. Inside the center of gravity horizontal stabilizer, the planned support point is treated as the target pressure center point.
  • the center-of-gravity horizontal stabilizer stores the current center-of-gravity plane position and plane velocity of the robot device 1, the planned support point position (target pressure center point position) of the robot device 1 at each step up to N steps ahead, and the center-of-gravity vertical stabilization. Based on the vertical position of the center of gravity of the robot device 1 in each step up to N steps ahead calculated by the device, the next landing point position of the current free leg of the robot device 1 is calculated from the planned landing point position. and a pressure center point change amount from the target pressure center point position of the pressure center point position to be generated by the current leg of the robot device 1 on the ground.
  • the center of pressure (CoP) may be simply referred to as CoP.
  • the information processing device 100 also includes a foot trajectory generator.
  • the foot trajectory generator generates the current swing leg of the robot apparatus 1 based on the planned floor landing point position generated by the gait generator and the amount of change in the landing point calculated by the horizontal center of gravity stabilizer.
  • a target foot position which is a landing point position for landing, is calculated.
  • the information processing device 100 calculates the center of pressure position (calculated by the horizontal center-of-gravity stabilizer) and the target toe position (calculated by the toe trajectory generator) for realizing stabilization of the robot device 1. is realized in an actual robot device 1 by whole-body cooperative control using generalized inverse dynamics (GID).
  • GID generalized inverse dynamics
  • FIG. 3 is a diagram for explaining a control model of the robot device 1 according to the embodiment.
  • the control model of the robot device 1 having one or more legs is defined by the center of gravity of the robot device 1 and the center of pressure (CoP) to be generated by the ground leg of the robot device 1. ) as a center-of-pressure model.
  • a center-of-pressure-center-of-pressure model such as a stilt model consisting of the center of gravity of the robot device 1 and the center of pressure (CoP) of the robot device 1 is simplified.
  • the current state of the center of gravity is input, and the pressure center position that stabilizes several steps ahead (for example, N steps ahead) and the landing point from the planned landing point position Find the amount of change.
  • the reason why the distance is several steps ahead is to suppress occurrence of an excessive stride change amount when a large disturbance such as the robot device 1 is pushed or when a user command is changed.
  • This center-of-gravity-center-of-pressure model does not depend on the number of legs of the robot device 1 and the ground contact (landing) pattern, so it is a model with high generality. Moreover, since it is a simple model, it is highly real-time.
  • the information processing apparatus 100 sets the control model of the robot apparatus 1 as a center-of-pressure-center-of-pressure model consisting of the center of gravity and the center-of-pressure (CoP) of the robot apparatus 1.
  • the equation of motion of the center of gravity of the robot apparatus 1 in each step up to N steps ahead is calculated using the amount of change in the landing point and the amount of change in the pressure center point as unknown parameters.
  • the information processing apparatus 100 controls the attitude and movement of the robot apparatus 1 so as to realize the landing point position based on the calculated landing point change amount and the pressure center point based on the pressure center point change amount. Thereby, the information processing apparatus 100 can stabilize the robot apparatus 1 so that the robot apparatus 1 does not fall over N steps ahead (for example, several steps ahead).
  • FIG. 4 is a diagram showing an output image of the horizontal center-of-gravity stabilizer and the relationship between the floor reaction force and the joint torque according to the embodiment.
  • the left side of FIG. 4 shows the output image of the center-of-gravity horizontal stabilizer.
  • the center-of-gravity horizontal stabilizer controls the amount of change in the landing point (future ) is calculated.
  • the future landing point change amount is the minimum position where the leg should land on from the planned leg trajectory for the robot device 1 to achieve a desired motion in order to prevent the robot device 1 from falling. means the amount of change in the landing point of
  • the information processing apparatus 100 calculates a future landing point change amount every tick, thereby realizing a desired movement instructed by the user as much as possible and landing at a position where the robot apparatus 1 does not fall down. change the point.
  • the center-of-gravity horizontal stabilizer calculates the amount of change in the pressure center point from the target pressure center point position to the pressure center point position to be generated by the current grounded leg of the robot device 1.
  • the pressure center point is the force center point on a polygon (also called a support polygon) formed by connecting the grounding positions of the grounding legs of the robot device 1 .
  • the pressure center point is calculated from the force with which the ground leg of the robot device 1 presses the ground and the ground contact position of the ground leg of the robot device 1 on the ground.
  • the right side of FIG. 4 shows the relationship between the floor reaction force and the joint torque.
  • the force of the grounded leg of the robot device 1 pushing the ground is transmitted to the robot device 1 as an external force as a reaction force (floor reaction force). Further, the magnitude of the force with which the grounded leg of the robot device 1 presses the ground is determined from the geometric relationship between the torque generated by each joint of the leg of the robot device 1 and the robot device 1 . That is, the center of pressure can be controlled by controlling the torque of the motors of the joints of the legs of the robot device 1 .
  • the information processing apparatus 100 controls both or only one of the future floor landing point operation of the free leg of the robot apparatus 1 and the pressure center point operation to be generated by the current grounding leg of the robot apparatus 1. , the desired movement of the robot device 1 and the stabilization of the robot device 1 can be realized at the same time.
  • FIG. 5 is a block diagram showing the functional configuration of the robot device 1 including the information processing device according to the embodiment.
  • the information processing device 100 may be provided in the main body of the robot device 1, for example.
  • the robot apparatus 1 includes an input unit 11, a drive unit 12, a torque detection unit 13, and an information processing device 100.
  • the input unit 11 includes an input device that allows the user to input information to the robot device 1 .
  • the input unit 11 may include an input device such as a touch panel, a button, a microphone, a switch, or a lever to which information is input, and an input control circuit that generates an input signal based on the input information. good.
  • the drive unit 12 generates torque for rotating the joints provided in each of the legs based on a control command or the like from the drive control unit 114 .
  • the drive unit 12 is, for example, an electric motor that performs rotational motion using electrical energy, and may be provided for each joint of the leg.
  • Each of the legs is bent or extended by rotating the joints of the legs by the drive unit 12 .
  • the torque detection unit 13 detects the magnitude of the torque applied from the driving unit 12 to the joint in each leg.
  • the torque detection unit 13 may include a magnetostrictive, strain gauge, piezoelectric, optical, spring, or capacitance torque sensor, and may directly detect the torque applied to the joint.
  • the torque detection unit 13 includes a voltmeter or an ammeter that detects the magnitude of the voltage or current applied to the drive unit 12, and based on the magnitude of the voltage or current applied to the drive unit 12, the joint torque is detected. may be calculated.
  • the magnitude of the torque detected by the torque detection unit 13 is used, together with the length of the link that constitutes each leg, to calculate the reaction force that each leg receives from the contact surface.
  • the information processing device 100 includes a control unit 110 .
  • the control unit 110 is a controller, and for example, the information processing apparatus 100 is controlled by a CPU (Central Processing Unit), MPU (Micro Processing Unit), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), etc.
  • Various programs (corresponding to an example of an information processing program) stored in the internal storage device are executed by using a storage area such as a RAM as a work area.
  • the controller 110 includes a generator 111 , an estimator 112 , a calculator 113 , and a drive controller 114 .
  • the generation unit 111 performs the function of the walking command generator shown in FIG. Specifically, the generating unit 111 acquires the target translational velocity, the target turning angular velocity, and the walking manner (gait) of the robot apparatus 1 received from the user by the input unit 11 . Next, the generation unit 111 generates a walking command for the robot device 1 based on the target translational velocity and the target turning angular velocity of the robot device 1 and the instruction of the walking manner (gait) of the robot device 1 . The generator 111 generates walking commands corresponding to various walking styles such as crawl, walk, trot, and gallop. Instructions on how to walk (gait) of the robot device 1 can be rephrased as instructions on how to make each of the four legs of the robot device 1 touch the ground.
  • a trot is a walking style in which two pairs of legs (front right leg and rear left leg, front left leg and right rear leg) are alternately moved out of the four legs of the robot device 1 .
  • FIG. 2 is a diagram showing an example of gait generation of the robot apparatus 1 according to the embodiment.
  • Figure 2 shows gait charts corresponding to four types of walking: crawl, walk, trot without a jumping period, and trot with a jumping period, from the top to the bottom.
  • the jumping period refers to a period during which none of the four legs of the robot device 1 are in contact with the ground (floating in the air).
  • each gait chart shown in FIG. 2 indicates time.
  • the vertical axis of each gait chart indicates the left front leg (FL), right front leg (FR), left rear leg (RL) of the four legs of the robot device 1. ), indicating whether or not the right rear leg (RR) is in contact with the ground at the corresponding time.
  • the leg that is in contact with the ground is referred to as a ground leg or a supporting leg.
  • the legs that are not in contact with the ground that is, the legs that float in the air
  • free legs are called free legs.
  • the coordinates indicating the positions of the toes of the four legs of the robot apparatus 1 in each gait are determined from the relative positional relationships of the four legs of the robot apparatus 1 in each gait.
  • gray-filled periods indicate swing periods in which the corresponding leg is a swing leg.
  • the period not filled with gray indicates the grounding period in which the corresponding leg is the grounding leg.
  • the period during which the grounding pattern of the legs of the robot apparatus 1 is constant is regarded as one step.
  • the robot device 1 lands three steps ahead.
  • the robot device 1 lands on the floor four steps ahead.
  • the generation unit 111 performs the function of the future support point predictor shown in FIG. Specifically, the generating unit 111 calculates the planned grounding point of the grounding leg of the robot apparatus 1 in each step up to N steps ahead (N is a natural number) from the gait chart generated (by the gait generator). Generating an array of supporting point coordinates (hereinafter also referred to as supporting point array) indicating planned supporting point positions (hereinafter also referred to as planned supporting point positions in each step up to N steps ahead) by averaging grounding point coordinates indicating positions. .
  • supporting point array an array of supporting point coordinates (hereinafter also referred to as supporting point array) indicating planned supporting point positions (hereinafter also referred to as planned supporting point positions in each step up to N steps ahead) by averaging grounding point coordinates indicating positions. .
  • the support point array generated by the generation unit 111 will be specifically described by taking the crawl gait chart shown in the upper part of FIG. 2 as an example.
  • the left front leg (FL) of the robot apparatus 1 is a free leg
  • the leg (RR) is the ground leg. Therefore, the generation unit 111 generates grounding point coordinates indicating the planned grounding point positions of the right front leg (FR), left rear leg (RL), and right rear leg (RR), which are the grounding legs of the robot apparatus 1 one step ahead. are averaged to calculate the support point coordinates indicating the plan support point position one step ahead.
  • the generating unit 111 generates grounding point coordinates indicating planned grounding point positions of the left front leg (FL), the right front leg (FR), and the left rear leg (RL), which are the grounding legs of the robot apparatus 1 two steps ahead.
  • the coordinates of the supporting point indicating the planned supporting point position two steps ahead are calculated on average.
  • the generation unit 111 generates contact point coordinates indicating planned contact point positions of the left front leg (FL), the left rear leg (RL), and the right rear leg (RR), which are the contact legs of the robot apparatus 1 three steps ahead. is averaged to calculate the support point coordinates indicating the planned support point position three steps ahead.
  • the left hind leg (RL) of the robot apparatus 1 is a free leg, and the left front leg (FL) and right front leg (FR) are swinging. and the right hind leg (RR) is the ground leg. Therefore, the generating unit 111 generates grounding point coordinates indicating planned grounding point positions of the left front leg (FL), the right front leg (FR), and the right rear leg (RR), which are the grounding legs of the robot apparatus 1 four steps ahead. The coordinates of the support point indicating the planned position of the support point four steps ahead on average are calculated. Similarly, for subsequent times, the generation unit 111 calculates the coordinates of the supporting points indicating the planned supporting point positions up to N steps ahead.
  • the generation unit 111 generates a support point array up to N steps ahead (one step Support point coordinates for the second step, support point coordinates for the third step, . . . , support point coordinates for the Nth step).
  • the ⁇ point array (where ⁇ is the name of the point) refers to the coordinates of N ⁇ points indicating the positions of ⁇ points in each step from the first step to the Nth step of the robot device 1. It refers to the arranged columns.
  • the estimation unit 112 performs the function of the posture estimator shown in FIG. Specifically, the estimation unit 112 estimates the posture angle and posture angular velocity of the robot device 1 based on the acceleration and angular velocity of the robot device 1 detected by an inertial measurement unit (IMU) mounted on the robot device 1. .
  • IMU inertial measurement unit
  • the estimation unit 112 performs the function of the self-position estimator shown in FIG. Specifically, the estimation unit 112 calculates the motor angles of the joints of the robot apparatus 1 detected by encoders mounted on the joints of the robot apparatus 1 and the posture angle and posture of the robot apparatus 1 estimated (by the posture estimator). Based on the angular velocities, the basic position, basic posture, basic joint angles and basic joint angular velocities of the robot device 1 are estimated.
  • the estimation unit 112 performs the function of the center-of-gravity estimator shown in FIG. Specifically, the estimating unit 112 calculates the reaction force that each leg receives from the ground surface based on the torque applied to each joint of the leg of the robot device 1 . The estimation unit 112 estimates the current planar position of the center of gravity of the robot device 1 based on the magnitude of the reaction force that each leg receives from the ground surface. The estimation unit 112 also estimates the current planar velocity of the center of gravity of the robot device 1 based on the planar position of the center of gravity of the robot device 1 .
  • the estimation unit 112 also estimates the current vertical position of the center of gravity of the robot apparatus 1 by performing geometric calculations using the plane positions of the center of gravity of the robot apparatus 1 in a plurality of postures.
  • the estimation unit 112 also estimates the current vertical velocity of the center of gravity of the robot device 1 based on the vertical position of the center of gravity of the robot device 1 .
  • the calculation unit 113 performs the function of the center-of-gravity vertical stabilizer shown in FIG. Specifically, the estimation unit 112 generates the reference vertical position of the center of gravity of the robot device 1 , the current vertical position and vertical velocity of the center of gravity of the robot device 1 estimated (by the center of gravity estimator), and the Based on the generated support point array up to N steps ahead, the vertical position (also referred to as vertical trajectory) of the center of gravity of the robot device 1 in each step up to N steps ahead and the target resultant force or target position are calculated.
  • the calculation unit 113 performs the function of the center-of-gravity horizontal stabilizer shown in FIG. Inside the center of gravity horizontal stabilizer, the planned support point is treated as the target pressure center point. Specifically, the calculation unit 113 calculates the current plane position and plane velocity of the center of gravity of the robot device 1, the planned support point position (target pressure center point position) of the robot device 1 in each step up to N steps ahead, and ( Based on the vertical position of the center of gravity of the robot device 1 at each step up to N steps ahead calculated by the center of gravity vertical stabilizer), plan the landing point position where the current free leg of the robot device 1 will land next.
  • a landing point change amount from the landing point position and a pressure center point change amount from the target pressure center point position of the pressure center point position to be generated by the current grounded leg of the robot apparatus 1 are calculated.
  • the calculation unit 113 calculates the minimum value of the landing point change amount and the minimum value of the pressure center point change amount.
  • the calculation unit 113 performs the function of the foot trajectory generator shown in FIG. Specifically, the calculation unit 113 calculates the current play of the robot apparatus 1 based on the planned landing point position generated by the generation unit 111 and the landing point change amount calculated (by the horizontal center of gravity stabilizer). A target foot position, which is a landing point position where the leg will land next, is calculated.
  • the drive control unit 114 realizes the pressure center point position and the target foot position for realizing stabilization of the robot device 1 in the actual robot device 1 by whole-body coordinated control using generalized inverse dynamics (GID). do. Specifically, the drive control unit 114 controls the posture and movement of the robot apparatus 1 so as to achieve the pressure center position and the target toe position calculated by the calculation unit 113 . More specifically, the drive control unit 114 determines the joint driving force (torque) to be generated at each joint of the robot apparatus 1 so as to realize the pressure center position and the target toe position calculated by the calculation unit 113. calculate.
  • GID generalized inverse dynamics
  • the drive control unit 114 controls all the state quantities (basic position and posture, basic joint angles and basic joint angular velocities) of the robot apparatus 1 estimated by the estimating unit 112, the target posture angle specified by the user, the calculating unit
  • the joint driving force (torque) to be generated at each joint of the robot apparatus 1 is calculated based on the target resultant force or target position, pressure center point position, and target foot position calculated by 113 .
  • the drive control unit 114 controls the motion of each joint of the robot device 1 so that each joint of the robot device 1 generates the calculated joint driving force (torque).
  • the center-of-gravity horizontal stabilizer handles the horizontal direction ((X, Y) direction) of the robot apparatus 1 .
  • the vertical direction (Z direction) of the robot apparatus 1 is separately designed in a separate module (center-of-gravity vertical stabilizer shown in FIG. 1), and is given as an input to this module (center-of-gravity horizontal stabilizer). By doing so, the non-linearity in the vertical direction is handled by time-varying linearization.
  • a summary of the C.G. Horizontal Stabilizer Internal Algorithm consists of the following three steps. As described above, inside the center-of-gravity horizontal stabilizer, the planned support point is treated as the target pressure center point (target CoP). Therefore, hereinafter, the support point array may be referred to as a target pressure center array (also referred to as a target CoP array).
  • Step #1 Support point array of support point coordinates indicating the current planar position and planar velocity of the center of gravity of the robot device 1, and the planned support point position (target pressure center point position) of the robot device 1 at each step up to N steps ahead.
  • target pressure center point array a contact point array of contact point coordinates indicating planned contact point positions of the contact leg of the robot apparatus 1 at each step up to N steps ahead, and a contact point array of the robot apparatus 1 at each step up to N steps ahead
  • the pressure center point change amount array support point change amount array
  • the state of the plane position of the center of gravity and the state of the plane velocity of the robot apparatus 1 N steps ahead including .
  • Step #2 Concerning the state of the center of gravity of the robot device 1 N steps ahead, the stabilization condition is the constraint condition (Capture Point, Limit Cycle), and the pressure center point change amount array of the robot device 1 at each step up to N steps ahead (support point change amount array) and landing point change amount array are obtained.
  • the constraint condition Capture Point, Limit Cycle
  • Step #3 Realized by the robot device 1 by outputting the most recent change amount (that is, the most recent pressure center point change amount and landing point change amount) in step #2.
  • FIG. 6 is a diagram showing a gravity center-pressure center point model of the robot device 1 according to the embodiment.
  • the calculation unit 113 regards the control model of the robot device 1 as a center-of-gravity-center-of-pressure-point model consisting of the center of gravity and the support point (center of pressure) of the robot device 1.
  • An equation of motion for the center of gravity of the robot apparatus 1 in each step is calculated using the amount of change in the support point (the amount of change in the pressure center point) and the amount of change in the landing point as unknown parameters.
  • m is the mass of the center of gravity of the robot device 1
  • f is the force acting on the center of gravity of the robot device 1
  • x ( xc , yc, zc ) is the position of the center of gravity of the robot device 1
  • FIG. 7 is a diagram showing a stepwise center-of-gravity-pressure center point model according to the embodiment.
  • px is the planned support point position (target pressure center point position)
  • FIG. 8 is a diagram showing the center-of-gravity-center-of-pressure model when the support point is changed according to the embodiment.
  • the i-th step state of the robot device 1 is considered.
  • the planned support point position (target pressure center point position) at the i-th step of the robot device 1 is pxi .
  • the airborne period refers to a period in which none of the legs of the robot device 1 are in contact with the ground (floating in the air).
  • the translational motion is uniform linear motion, so the following equation (15) holds.
  • Equation (16) is equal to equation (14) of planned support point position (target pressure center point position) change dynamics when the flight period is zero (that is, the robot device 1 does not jump). From the above, it was possible to obtain an equation expressing the planned support point position (target pressure center point position) change dynamics when there is a flight period.
  • the above formula (22) should be used. Moreover, when it is desired to obtain an intermediate trajectory, it can be calculated from the above equation (21). From the above, from the initial state of the center of gravity, the amount of change in the support point (the amount of change in the center of pressure), the planned value of the stride (corresponding to the planned landing point position), and the amount of change in the stride (corresponding to the amount of change in the landing point) are considered. The state of the center of gravity N steps ahead was obtained.
  • the above equation (22) is a modeling result that includes the flight period, and the point is that it can also handle jumps of the robot device 1. If there is no flight period, ⁇ i can be set to zero, and there is no need to switch the control model. In addition, when assuming a linear inverted pendulum with no vertical motion, there is no need to calculate a time-varying matrix for vertical motion, and it is only necessary to model the transition up to the next step in the analytical solution, which can reduce the amount of computation. .
  • the information processing apparatus 100 can stabilize various gaits of the legged robot apparatus including jumping with a single control model with a small amount of computation by using the above equation (22). can. As a result, the information processing apparatus 100 can express various walking patterns at low cost for the legged robot apparatus.
  • the information processing apparatus 100 can perform high-speed calculation by using the above equation (22), so that the magnitude of the disturbance can be estimated from the control amount. As a result, the information processing apparatus 100 can predict in advance a large disturbance or destabilization that cannot be dealt with, so that the user can immediately make the robot apparatus take an emergency stop or an avoidance action. .
  • the algorithm of formula (22) above is not a heuristic method. Therefore, the information processing apparatus 100 can use the same algorithm (equation (22)) for robot apparatuses of various shapes.
  • FIG. 10 is a diagram for explaining the equation of motion of the center of gravity t seconds after the Nth step lands on the floor according to the embodiment.
  • a constraint is imposed such that the future state from XN achieves stabilization. By doing so, it is possible to consider stabilization using a plurality of steps, and it is possible to deal with a strong disturbance that cannot be dealt with in one step.
  • the equation of motion during that time can be represented by an analytical solution such as equation (a) in FIG. h is the distance from the floor to the center of gravity, g is the gravitational constant, and the motion is determined only by the initial state and time.
  • the stabilization norm is the Capture Point. If a set of X N ( 0) and dotted X N (0) that makes the divergent component of equation (a) in FIG. , rests just above the landing point. Such a landing point is called a Capture Point. In order to realize this, the expression (b) in FIG. 10 should be satisfied.
  • FIG. 11 is a diagram for explaining the equation of motion that satisfies the stabilization condition (Capture Point) according to the embodiment.
  • x with a hat is a variable vector, and includes the amount of change for each of N steps.
  • formula (c) in FIG. 11 is generally a redundant system with more variables than the number of formulas, there are multiple solutions that satisfy the constraints. Therefore, the minimum norm solution of variables can be obtained by using a weighted pseudo-inverse matrix, SVD, or the like, and high-speed calculation is possible. Furthermore, by multiplying x with a hat by a transformation matrix that forcibly assigns zero to elements, the amount of change in stride length (corresponding to the amount of change in landing point), the amount of change in center of pressure (change in support point It is possible to easily set a constraint such as not performing the amount).
  • FIG. 12 is a diagram illustrating a configuration example of an output selection matrix used for stabilization according to the embodiment.
  • a Limit Cycle is a closed trajectory in the phase space of a dynamical system, and is a phenomenon in which the relationship between position and velocity maintains a constant law.
  • a constraint formula is derived such that the Limit Cycle is formed at the end time.
  • the trajectory energy E is considered in order to calculate the Limit Cycle trajectory that prevents the robot device 1 from overturning.
  • the trajectory energy In steady walking motion in the linear inverted pendulum mode that assumes a constant height, the trajectory energy always operates in a region where E>0, as shown in FIG.
  • FIG. 13 is a diagram for explaining the relationship between trajectory energy and walking motion according to the embodiment.
  • FIG. 14 shows constraint equations that satisfy these requirements.
  • FIG. 14 is a diagram for explaining an equation of motion that satisfies a stabilization condition (Limit Cycle) according to the embodiment. The duality of the position when the linear inverted pendulum repeats steady motion is used, and the position of X N (t) is the sign inversion of X N (0) immediately after landing. This is a constraint formula for finding X N (0) that forces E>0 while satisfying the target velocity at time t after landing.
  • v ref is designed as shown in the following equation (23), where K p is the feedback gain for the deviation and K i is the feedback gain for the deviation integral value.
  • the amount of change in pressure center point (change amount of support point) and the amount of landing point change which are the output values of the center-of-gravity horizontal stabilizer according to the present embodiment, are used for purposes other than stabilizing the robot apparatus 1 for high-level situation judgment. can also be used for
  • Example 1 Without mounting a special sensor, the user can estimate from which direction the disturbance is coming from the stride change amount, which is the output result of the stabilizer. Autonomous movement performance can be enhanced (for example, the robot device 1 is automatically stopped when a disturbance enters from the traveling direction). (Example 2) The user sets a maximum value for the amount of stride change that is the output result of the center-of-gravity horizontal stabilizer, and if it exceeds the maximum value, it is judged to be dangerous, the robot device 1 automatically stops, and the robot device 1 autonomously performs an overturn avoidance operation. can be migrated (Example 3) Aging deterioration of the robot can be autonomously determined from an increase in the average landing point change amount on the plane.
  • FIG. 15 is a hardware configuration diagram showing an example of a computer 1000 that reproduces the functions of an information processing apparatus such as the information processing apparatus 100.
  • the computer 1000 has a CPU 1100 , a RAM 1200 , a ROM (Read Only Memory) 1300 , a HDD (Hard Disk Drive) 1400 , a communication interface 1500 and an input/output interface 1600 .
  • Each part of computer 1000 is connected by bus 1050 .
  • the CPU 1100 operates based on programs stored in the ROM 1300 or HDD 1400 and controls each section. For example, the CPU 1100 loads programs stored in the ROM 1300 or HDD 1400 into the RAM 1200 and executes processes corresponding to various programs.
  • the ROM 1300 stores a boot program such as BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 is started, and programs dependent on the hardware of the computer 1000.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records programs executed by the CPU 1100 and data used by such programs.
  • HDD 1400 is a recording medium that records the program according to the present disclosure, which is an example of program data 1450 .
  • a communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (for example, the Internet).
  • CPU 1100 receives data from another device via communication interface 1500, and transmits data generated by CPU 1100 to another device.
  • the input/output interface 1600 is an interface for connecting the input/output device 1650 and the computer 1000 .
  • the CPU 1100 receives data from input devices such as a keyboard and mouse via the input/output interface 1600 .
  • the CPU 1100 also transmits data to an output device such as a display, speaker, or printer via the input/output interface 1600 .
  • the input/output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined recording medium.
  • Media include, for example, optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable disk), magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, semiconductor memories, etc. is.
  • the CPU 1100 of the computer 1000 reproduces the functions of the control unit 110 and the like by executing programs loaded on the RAM 1200 .
  • the HDD 1400 also stores programs according to the present disclosure and various data.
  • CPU 1100 reads and executes program data 1450 from HDD 1400 , as another example, these programs may be obtained from another device via external network 1550 .
  • a calculation unit that calculates the amount of change in the pressure center point from the target pressure center point position to the pressure center point position to be calculated;
  • a drive control unit that controls the posture and movement of the robot device based on at least one of the landing point change amount and the pressure center point change amount calculated by the calculation unit;
  • Information processing device is also take the following configuration.
  • the calculation unit a current planar position and planar velocity of the center of gravity of the robotic device, a planned support point position that is the average of planned ground contact point positions of the grounding leg of the robotic device at each step up to N steps ahead (N is a natural number); calculating the landing point change amount and the pressure center point change amount based on the vertical position of the center of gravity of the robot device in each step up to N steps ahead;
  • N is a natural number
  • the calculation unit Assuming that the control model of the robot device is a center-of-gravity-pressure center point model consisting of the center of gravity of the robot device and the pressure center point to be generated by the grounding leg of the robot device, the robot at each step up to N steps forward Calculate the equation of motion of the center of gravity of the device using the landing point change amount and the pressure center point change amount as unknown parameters.
  • the information processing device according to (1) above.
  • the calculation unit calculating an equation of motion of the center of gravity of the robot device including a flight period; The information processing device according to (1) above.
  • the calculation unit After the robot device reaches N steps ahead and temporal infinity has passed, the center of gravity of the robot device N steps ahead stops just above the planned support point position of the robot device N steps ahead.
  • the amount of change in the landing point and the amount of change in the pressure center point are calculated by solving the equation of motion of the center of gravity of the robot device N steps ahead under the constraint of The information processing device according to (2) above.
  • the calculation unit Under the constraint condition that the posture and movement of the robot device at N steps ahead and the posture and movement of the robot device at (N ⁇ 1) steps ahead match, the equation of motion of the center of gravity of the robot device at N steps ahead is: Calculate the landing point change amount and the pressure center point change amount by solving The information processing device according to (1) above.
  • the robotic device is a legged robotic device comprising four legs, The information processing device according to (1) above.
  • Information processing method including.
  • a calculation unit that calculates the amount of change in the pressure center point from the target pressure center point position to the target pressure center point position;
  • a drive control unit that controls the posture and movement of the robot device based on at least one of the landing point change amount and the pressure center point change amount calculated by the calculation unit;
  • a program that acts as a
  • robot device 11 input unit 12 drive unit 13 torque detection unit 100 information processing unit 110 control unit 111 generation unit 112 estimation unit 113 calculation unit 114 drive control unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

情報処理装置(100)は、1以上の脚部を備えるロボット装置(1)の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、およびロボット装置(1)の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する算出部(113)と、算出部(113)によって算出された着床点変更量または圧力中心点変更量のうち少なくともいずれか一方に基づいて、ロボット装置(1)の姿勢および移動を制御する駆動制御部(114)と、を備える。

Description

情報処理装置、情報処理方法及びプログラム
 本開示は、情報処理装置、情報処理方法及びプログラムに関する。
 近年、移動ロボットとして、脚式のロボット装置(脚部を備えるロボット装置)の開発が進められている。脚式のロボット装置は、車輪式のロボット装置では移動が困難な段差又は階段を含む環境、及び不整地などの環境でも自由に移動することが可能である。そのため、脚式のロボット装置は、人間が行っていた山道などでの荷物の運搬を代替することが可能な移動体として期待されている。
 このような脚式のロボット装置の姿勢および歩行を安定化させる技術として、様々な技術が検討されている。例えば、下記の特許文献1には、外乱によって回転した2足歩行ロボットの上半身を元に戻すような立脚または遊脚の制御を行うことで、2足歩行ロボットの姿勢および歩行を安定化させる技術が開示されている。また、下記の特許文献2には、外乱安定化用の制御タスク(低周期)と、計画タスクを実行する制御が並列して動作し、外乱が入った際には処理を切り替えることで、2足歩行ロボットの姿勢および歩行を安定化させる技術が開示されている。
特開2017-202535号公報 特開2011-240475号公報
 しかしながら、上記の従来技術では、未知の外乱に対する脚式のロボット装置の安定性能を向上させることができるとは限らない。例えば、上記の特許文献1に記載された従来技術では、外乱によって回転した2足歩行ロボットの上半身を元に戻すような立脚または遊脚の制御を行うにすぎず、ロボット全体の重心バランスが考慮されていないため、外乱耐性が高いとは言えない場合がある。また、上記の特許文献2に記載された従来技術では、外乱安定化用の制御タスク(低周期)と、計画タスクを実行する制御が並列して動作し、外乱が入った際には処理を切り替えるにすぎず、制御切り替えタイミングまでに遅延が生じるため即座に外乱に対応できない場合がある。
 そこで、本開示では、未知の外乱に対する脚式のロボット装置の安定性能を向上させることができる情報処理装置、情報処理方法及びプログラムを提案する。
 本開示によれば、1以上の脚部を備えるロボット装置の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、および前記ロボット装置の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する算出部と、前記算出部によって算出された前記着床点変更量または前記圧力中心点変更量のうち少なくともいずれか一方に基づいて、前記ロボット装置の姿勢および移動を制御する駆動制御部と、を備える情報処理装置が提供される。
 また、本開示によれば、演算処理装置によって、1以上の脚部を備えるロボット装置の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、または前記ロボット装置の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出することと、算出した前記着床点変更量または前記圧力中心点変更量のうち少なくともいずれか一方に基づいて、前記ロボット装置の姿勢および移動を制御することと、を含む情報処理方法が提供される。
 また、本開示によれば、コンピュータを、1以上の脚部を備えるロボット装置の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、または前記ロボット装置の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する算出部と、前記算出部によって算出された前記着床点変更量または前記圧力中心点変更量のうち少なくともいずれか一方に基づいて、前記ロボット装置の姿勢および移動を制御する駆動制御部と、として機能させるプログラムが提供される。
 本開示によれば、1以上の脚部を備えるロボット装置の現在の接地脚が発生すべき圧力中心点位置および現在の遊脚が次に着床する着床点位置を、同時に、かつ実時間で実行可能な演算量で算出することができるため、未知の外乱に対する脚式のロボット装置の安定性能を向上させることが可能である。
本開示の実施形態に係る情報処理装置によるロボット装置の制御処理の概要を説明するための図である。 同実施形態に係るロボット装置の歩容の生成例を示す図である。 同実施形態に係るロボット装置の制御モデルを説明するための図である。 同実施形態に係る重心水平安定化器の出力イメージおよび床反力と関節トルクの関係を示す図である。 同実施形態に係る情報処理装置を含むロボット装置の機能構成を示すブロック図である。 同実施形態に係るロボット装置の重心-圧力中心点モデルを示す図である。 同実施形態に係るステップ刻みの重心-圧力中心点モデルを示す図である。 同実施形態に係る支持点変更時の重心-圧力中心点モデルを示す図である。 同実施形態に係るN歩先(N=3)の重心状態を表すモデリング結果のイメージを示す図である。 同実施形態に係るN歩目が着床してからt秒後の重心の運動方程式を説明するための図である。 同実施形態に係る安定化条件(Capture Point)を満たす運動方程式を説明するための図である。 同実施形態に係る安定化に用いる出力の選択行列の構成例を示す図である。 同実施形態に係る軌道エネルギーと歩行動作の関係を説明するための図である。 同実施形態に係る安定化条件(Limit Cycle)を満たす運動方程式を説明するための図である。 情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
(実施形態)
[1.概要]
 まず、図1を用いて、本開示の実施形態に係る情報処理装置100によるロボット装置1の制御処理の概要を説明する。図1は、本開示の実施形態に係る情報処理装置100によるロボット装置1の制御処理の概要を説明するための図である。本実施形態では、ロボット装置1が、図1に示すような4つの脚部を備える脚式のロボット装置1である場合について説明する。図1に示すブロックのうち、重心水平安定化器が本願発明に係るブロックである。
 情報処理装置100は、歩行コマンド生成器を備える。歩行コマンド生成器は、利用者から受け付けたロボット装置1の目標並進速度、目標旋回角速度、およびロボット装置1の歩き方(歩容)の指示に基づいて、ロボット装置1に対する歩行コマンドを生成する。なお、歩行コマンドについては後述する図5で詳しく説明する。
 また、情報処理装置100は、歩容生成器を備える。歩容生成器は、歩行コマンド生成器によって生成された歩行コマンドに基づいて、後述する図2示すようなロボット装置1の歩行パターンを示すチャート(以下、歩容チャートともいう)を生成する。
 また、歩容生成器は、歩容チャートを生成するとともに、ロボット装置1の現在の遊脚が次に着床する着床点位置の計画着床点位置を示す着床点座標を生成する。
 また、情報処理装置100は、将来支持点予測器を備える。将来支持点予測器は、歩容生成器によって生成された歩容チャートから、N歩先(Nは自然数)までの各歩におけるロボット装置1の接地脚の計画上の接地点位置を示す接地点座標を平均した計画支持点位置(以下、N歩先までの各歩における計画支持点位置ともいう)を示す支持点座標の配列(以下、支持点配列ともいう)を生成する。
 また、情報処理装置100は、姿勢推定器を備える。姿勢推定器は、ロボット装置1に搭載された慣性計測装置(IMU)によって検出されたロボット装置1の加速度および角速度に基づいて、ロボット装置1の姿勢角度および姿勢角速度を推定する。
 また、情報処理装置100は、自己位置推定器を備える。自己位置推定器は、ロボット装置1の関節に搭載されたエンコーダによって検出されたロボット装置1の関節のモータ角度および姿勢推定器によって推定されたロボット装置1の姿勢角度および姿勢角速度に基づいて、ロボット装置1の基本位置および基本姿勢、基本関節角度および基本関節角速度を推定する。
 また、情報処理装置100は、重心推定器を備える。重心推定器は、ロボット装置1の脚部の各々の関節に印加されるトルクに基づいて、脚部の各々が接地面から受ける反力を算出する。重心推定器は、脚部の各々が接地面から受けている反力の大きさに基づいて、ロボット装置1の現在の重心の平面位置を推定する。また、重心推定器は、ロボット装置1の重心の平面位置に基づいて、ロボット装置1の現在の重心の平面速度を推定する。また、重心推定器は、複数の姿勢におけるロボット装置1での重心の平面位置を用いて幾何的な計算を行うことで、ロボット装置1の現在の重心の垂直位置を推定する。また、重心推定器は、ロボット装置1の重心の垂直位置に基づいて、ロボット装置1の現在の重心の垂直速度を推定する。
 また、情報処理装置100は、重心垂直安定化器を備える。重心垂直安定化器は、ロボット装置1の重心の基準となる垂直位置、重心推定器によって推定されたロボット装置1の現在の重心の垂直位置および垂直速度、ならびに将来支持点予測器によって生成されたN歩先までの支持点配列に基づいて、N歩先までの各歩におけるロボット装置1の重心の垂直位置(垂直軌道ともいう)および目標合力または目標位置を算出する。
 また、情報処理装置100は、重心水平安定化器を備える。重心水平安定化器の内部では、計画支持点を目標圧力中心点として扱う。重心水平安定化器は、ロボット装置1の現在の重心の平面位置および平面速度、N歩先までの各歩におけるロボット装置1の計画支持点位置(目標圧力中心点位置)、ならびに重心垂直安定化器によって算出されたN歩先までの各歩におけるロボット装置1の重心の垂直位置に基づいて、ロボット装置1の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、およびロボット装置1の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する。なお、以下では、圧力中心点(CoP:Center of pressure)のことを単にCoPと記載する場合がある。
 また、情報処理装置100は、足先軌道生成器を備える。足先軌道生成器は、歩容生成器によって生成された計画着床点位置および重心水平安定化器によって算出された着床点変更量に基づいて、ロボット装置1の現在の遊脚が次に着床する着床点位置である目標足先位置を算出する。
 また、情報処理装置100は、ロボット装置1の安定化を実現するための(重心水平安定化器によって算出された)圧力中心点位置および(足先軌道生成器によって算出された)目標足先位置を一般化逆動力学(GID:Generalized Inverse Dynamics)を用いた全身協調制御によって実際のロボット装置1で実現する。
 次に、図3を用いて、実施形態に係るロボット装置1の制御モデルについて説明する。図3は、実施形態に係るロボット装置1の制御モデルを説明するための図である。図3の左側に示すように、本実施形態では、1以上の脚部を備えるロボット装置1の制御モデルを、ロボット装置1の重心とロボット装置1の接地脚が発生すべき圧力中心点(CoP)からなる重心-圧力中心点モデルとみなす。
 ロボット装置1全体の複雑な機構をすべて考慮すると、演算時間が増大してしまう。そこで、本実施形態では、図3の左側に示すように、ロボット装置1の重心とロボット装置1の圧力中心点(CoP)からなる竹馬モデルのような重心-圧力中心点モデルへと簡略化する。この重心-圧力中心点モデルに対し、現在の重心状態を入力として、数歩先(例えば、N歩先)で安定化するような圧力中心点位置と、計画着床点位置からの着床点変更量を求める。ここで、数歩先としているのは、ロボット装置1が押されるといった大きな外乱や利用者指令変更時に、過大な歩幅変更量の発生を抑制するためである。この重心-圧力中心点モデルは、ロボット装置1の脚数、接地(着床)パターンに依存しないため、高い一般性を有したモデルとなっている。また単純なモデルであるため、実時間性も高い。
 また、図3の右側に示すように、本実施形態では、情報処理装置100が、ロボット装置1の制御モデルをロボット装置1の重心と圧力中心点(CoP)からなる重心-圧力中心点モデルとみなして、N歩先までの各歩におけるロボット装置1の重心の運動方程式を着床点変更量と圧力中心点変更量を未知パラメータとして算出する。情報処理装置100は、算出された着床点変更量に基づく着床点位置と圧力中心点変更量に基づく圧力中心点を実現するようにロボット装置1の姿勢および移動を制御する。これにより、情報処理装置100は、N歩先(例えば、数歩先)でロボット装置1が転ばないようにロボット装置1を安定化させることができる。
 次に、図4を用いて、実施形態に係る重心水平安定化器の出力イメージおよび床反力と関節トルクの関係について説明する。図4は、実施形態に係る重心水平安定化器の出力イメージおよび床反力と関節トルクの関係を示す図である。図4の左側は、重心水平安定化器の出力イメージを示す。図4の左側に示すように、重心水平安定化器は、ロボット装置1の遊脚の足先が次に着床する着床点位置の計画着床点位置からの着床点変更量(将来の着床点変更量)を算出する。将来の着床点変更量とは、ロボット装置1が倒れないようにするには、ロボット装置1が所望な動作を実現するための計画された脚の軌道からどこに脚を着けばよいかという最小の着床点変更量を意味する。情報処理装置100は、将来の着床点変更量を毎ティック(tick)計算することで、極力利用者から指示された所望な動作を実現しつつ、ロボット装置1が倒れない位置へと着床点を変更する。
 また、図4の左側に示すように、重心水平安定化器は、ロボット装置1の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する。ここで、圧力中心点は、ロボット装置1の各接地脚の接地位置を結ぶことで形成される多角形(支持多角形ともいう)上の力の中心点である。圧力中心点は、ロボット装置1の接地脚が地面を押す力と、ロボット装置1の接地脚が地面に接地している接地位置から算出される。図4の右側は、床反力と関節トルクの関係を示す。ロボット装置1の接地脚が地面を押す力は、ロボット装置1へは反力(床反力)として外力となり伝わる。また、ロボット装置1の接地脚が地面を押す力の大きさは、ロボット装置1の脚の各関節が発生するトルクとロボット装置1の幾何関係から決定される。すなわち、圧力中心点は、ロボット装置1の脚の各関節のモータのトルクを制御することにより、制御可能となる。
 このように、情報処理装置100は、ロボット装置1の遊脚の将来の着床点操作とロボット装置1の現在の接地脚が発生すべき圧力中心点操作の両方もしくは一方だけを制御することで、ロボット装置1による所望の動作とロボット装置1の安定化を同時に実現可能とする。
[2.構成例]
 次に、図5を用いて、実施形態に係る情報処理装置100を含むロボット装置1の機能構成について説明する。図5は、実施形態に係る情報処理装置を含むロボット装置1の機能構成を示すブロック図である。なお、情報処理装置100は、例えば、ロボット装置1の本体部に備えられてもよい。
 図5に示すように、ロボット装置1は、入力部11と、駆動部12と、トルク検出部13と、情報処理装置100と、を備える。
 入力部11は、利用者からロボット装置1への情報の入力を可能とする入力装置を含む。入力部11は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバーなどの情報が入力される入力装置と、入力された情報に基づいて入力信号を生成する入力制御回路とを含んで構成されてもよい。
 駆動部12は、駆動制御部114からの制御指令等に基づいて、脚部の各々に備えられる関節を回動させるトルクを発生させる。駆動部12は、例えば、電気エネルギーによって回転運動を行う電動機であり、脚部の各々の関節ごとに設けられてもよい。脚部の各々は、駆動部12によって脚部の各々の関節が回動されることで、屈曲又は伸展される。
 トルク検出部13は、脚部の各々において、駆動部12から関節に印加されるトルクの大きさを検出する。トルク検出部13は、磁歪式、ひずみゲージ式、圧電式、光学式、ばね式又は静電容量式のトルクセンサを含み、関節に印加されるトルクを直接検出してもよい。または、トルク検出部13は、駆動部12に印加される電圧又は電流の大きさを検出する電圧計又は電流計を含み、駆動部12に印加される電圧又は電流の大きさに基づいて、関節に印加されるトルクを算出してもよい。トルク検出部13が検出したトルクの大きさは、脚部の各々を構成するリンクの長さと併せて、脚部の各々が接地面から受ける反力を算出するために用いられる。
 情報処理装置100は、制御部110を備える。制御部110は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、情報処理装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。図5に示す例では、制御部110は、生成部111と、推定部112と、算出部113と、駆動制御部114と、を備える。
 生成部111は、図1に示す歩行コマンド生成器の機能を実行する。具体的には、生成部111は、入力部11が利用者から受け付けたロボット装置1の目標並進速度、目標旋回角速度、およびロボット装置1の歩き方(歩容)の指示を取得する。続いて、生成部111は、ロボット装置1の目標並進速度、目標旋回角速度、およびロボット装置1の歩き方(歩容)の指示に基づいて、ロボット装置1に対する歩行コマンドを生成する。生成部111は、クロール(crawl)、ウォーク(walk)、トロット(trot)、ギャロップ(gallop)といった様々な歩き方に対応する歩行コマンドを生成する。ロボット装置1の歩き方(歩容)の指示とは、ロボット装置1の4つの脚それぞれの接地のさせ方の指示と言い換えることができる。
 例えば、クロール(crawl)は、ロボット装置1の4つの脚のうちの3つの脚が常に接地しており、接地している3つの脚を同じ速度で後ろに送り出すことでロボット装置1の体を前に送り出す歩き方のことを指す。また、トロット(trot)は、ロボット装置1の4つの脚のうちの対角に位置する2つの脚のペア(右前脚と左後脚、左前脚と右後脚)を交互に動かす歩き方のことを指す。
 また、生成部111は、図1に示す歩容生成器の機能を実行する。具体的には、生成部111は、(歩行コマンド生成器によって)生成された歩行コマンドに基づいて、図2示すようなロボット装置1の歩行パターンを示すチャート(以下、歩容チャートともいう)を生成する。図2は、実施形態に係るロボット装置1の歩容の生成例を示す図である。図2には上段から下段にかけて、クロール(crawl)、ウォーク(walk)、跳躍期がないトロット(trot)、跳躍期があるトロット(trot)の4種類の歩き方に対応する歩容チャートを示す。ここで、跳躍期とは、ロボット装置1の4つの脚がいずれも接地していない(空中に浮いている)期間のことを指す。
 図2示す各歩容チャートの横軸は、時刻を示す。また、各歩容チャートの縦軸は、ロボット装置1の4つの脚のうち、左前脚(FL:Left front leg)、右前脚(FR:Right front leg)、左後脚(RL:Left rear leg)、右後脚(RR:Right rear leg)それぞれが対応する時刻に地面に接しているか否かを示す。以下では、ロボット装置1の脚のうち、地面に接している脚のことを接地脚または支持脚という。また、ロボット装置1の脚のうち、地面に接していない脚(すなわち空中に浮いている脚)のことを遊脚という。また、各歩容におけるロボット装置1の4つの脚それぞれの相対的な位置関係から、各歩容におけるロボット装置1の4つの脚の足先の位置を示す座標が決定される。
 図2示す各歩容チャートのうち、灰色で塗りつぶされた期間は、対応する脚が遊脚である遊脚期間を示す。また、灰色で塗りつぶされていない期間は、対応する脚が接地脚である接地期間を示す。また、ロボット装置1の脚の接地パターンが一定である期間を一歩とみなす。例えば、図2の上段に示すクロール(crawl)歩容チャートでは、時刻t=0から時刻t=0.25の期間は、ロボット装置1が1歩目を踏み出している期間であることを示す。また、t=0.25でロボット装置1が1歩先に着床する。また、時刻t=0.25から時刻t=0.5の期間は、ロボット装置1が2歩目を踏み出している期間であることを示す。また、t=0.5でロボット装置1が2歩先に着床する。
 また、時刻t=0.5から時刻t=0.75の期間は、ロボット装置1が3歩目を踏み出している期間であることを示す。また、t=0.75でロボット装置1が3歩先に着床する。また、時刻t=0.75から時刻t=1.0の期間は、ロボット装置1が4歩目を踏み出している期間であることを示す。また、t=1.0でロボット装置1が4歩先に着床する。また、1つ目の歩容チャートの横に続く2つ目の歩容チャートは、時刻t=0から時刻t=1.0までの1つ目の歩容チャートの繰り返しパターンであるが、1つ目の歩容チャートの時刻に続く時刻t=1.0から時刻t=2.0の歩容パターンを示す。また、2つ目の歩容チャートの横に続く3つ目の歩容チャートは、時刻t=0から刻t=1.0までの1つ目の歩容チャートの繰り返しパターンであるが、2つ目の歩容チャートの時刻に続く時刻t=2.0から時刻t=3.0の歩容パターンを示す。
 また、生成部111は、歩容チャートを生成するとともに、ロボット装置1の現在の遊脚が次に着床する着床点位置の計画着床点位置を示す着床点座標を生成する。例えば、図2の上段に示すクロール(crawl)歩容チャートに基づけば、1歩目の期間である時刻t=0から時刻t=0.25におけるロボット装置1の現在の遊脚は左前脚(FL)である。そこで、生成部111は、ロボット装置1の現在の遊脚である左前脚(FL)が、次(この場合、時刻t=0.25)に着床する1歩先の着床点位置の計画着床点位置を示す着床点座標を生成する。
 また、生成部111は、図1に示す将来支持点予測器の機能を実行する。具体的には、生成部111は、(歩容生成器によって)生成された歩容チャートから、N歩先(Nは自然数)までの各歩におけるロボット装置1の接地脚の計画上の接地点位置を示す接地点座標を平均した計画支持点位置(以下、N歩先までの各歩における計画支持点位置ともいう)を示す支持点座標の配列(以下、支持点配列ともいう)を生成する。
 ここで、図2の上段に示すクロール(crawl)歩容チャートを例に挙げて、生成部111が生成する支持点配列について具体的に説明する。例えば、時刻t=0から時刻t=0.25の期間(1歩目)は、ロボット装置1の左前脚(FL)が遊脚、右前脚(FR)と左後脚(RL)と右後脚(RR)が接地脚である。そこで、生成部111は、1歩先のロボット装置1の接地脚である右前脚(FR)と左後脚(RL)と右後脚(RR)の計画上の接地点位置を示す接地点座標を平均した1歩先の計画支持点位置を示す支持点座標を算出する。
 続いて、時刻t=0.25から時刻t=0.5の期間(2歩目)は、ロボット装置1の右後脚(RR)が遊脚、左前脚(FL)と右前脚(FR)と左後脚(RL)が接地脚である。そこで、生成部111は、2歩先のロボット装置1の接地脚である左前脚(FL)と右前脚(FR)と左後脚(RL)の計画上の接地点位置を示す接地点座標を平均した2歩先の計画支持点位置を示す支持点座標を算出する。
 続いて、時刻t=0.5から時刻t=0.75の期間(3歩目)は、ロボット装置1の右前脚(FR)が遊脚、左前脚(FL)と左後脚(RL)と右後脚(RR)が接地脚である。そこで、生成部111は、3歩先のロボット装置1の接地脚である左前脚(FL)と左後脚(RL)と右後脚(RR)の計画上の接地点位置を示す接地点座標を平均した3歩先の計画支持点位置を示す支持点座標を算出する。
 続いて、時刻t=0.75から時刻t=1.0の期間(4歩目)は、ロボット装置1の左後脚(RL)が遊脚、左前脚(FL)と右前脚(FR)と右後脚(RR)が接地脚である。そこで、生成部111は、4歩先のロボット装置1の接地脚である左前脚(FL)と右前脚(FR)と右後脚(RR)の計画上の接地点位置を示す接地点座標を平均した4歩先の計画支持点位置を示す支持点座標を算出する。続く時刻についても、同様にして、生成部111は、N歩先までの計画支持点位置を示す支持点座標を算出する。
 このように、生成部111は、1歩目からN歩目までの各歩における計画支持点位置を示すN個の支持点座標を並べた列であるN歩先までの支持点配列(1歩目の支持点座標、2歩目の支持点座標、3歩目の支持点座標、…、N歩目の支持点座標)を生成する。なお、以下では、〇〇点配列(〇〇は点の名称)とは、ロボット装置1の1歩目からN歩目までの各歩における〇〇点位置を示すN個の〇〇点座標を並べた列のことを指すものとする。
 推定部112は、図1に示す姿勢推定器の機能を実行する。具体的には、推定部112は、ロボット装置1に搭載された慣性計測装置(IMU)によって検出されたロボット装置1の加速度および角速度に基づいて、ロボット装置1の姿勢角度および姿勢角速度を推定する。
 また、推定部112は、図1に示す自己位置推定器の機能を実行する。具体的には、推定部112は、ロボット装置1の関節に搭載されたエンコーダによって検出されたロボット装置1の関節のモータ角度および(姿勢推定器によって)推定されたロボット装置1の姿勢角度および姿勢角速度に基づいて、ロボット装置1の基本位置および基本姿勢、基本関節角度および基本関節角速度を推定する。
 また、推定部112は、図1に示す重心推定器の機能を実行する。具体的には、推定部112は、ロボット装置1の脚部の各々の関節に印加されるトルクに基づいて、脚部の各々が接地面から受ける反力を算出する。推定部112は、脚部の各々が接地面から受けている反力の大きさに基づいて、ロボット装置1の現在の重心の平面位置を推定する。また、推定部112は、ロボット装置1の重心の平面位置に基づいて、ロボット装置1の現在の重心の平面速度を推定する。また、推定部112は、複数の姿勢におけるロボット装置1での重心の平面位置を用いて幾何的な計算を行うことで、ロボット装置1の現在の重心の垂直位置を推定する。また、推定部112は、ロボット装置1の重心の垂直位置に基づいて、ロボット装置1の現在の重心の垂直速度を推定する。
 算出部113は、図1に示す重心垂直安定化器の機能を実行する。具体的には、推定部112は、ロボット装置1の重心の基準となる垂直位置、(重心推定器によって)推定されたロボット装置1の現在の重心の垂直位置および垂直速度、ならびに生成部111によって生成されたN歩先までの支持点配列に基づいて、N歩先までの各歩におけるロボット装置1の重心の垂直位置(垂直軌道ともいう)および目標合力または目標位置を算出する。
 また、算出部113は、図1に示す重心水平安定化器の機能を実行する。重心水平安定化器の内部では、計画支持点を目標圧力中心点として扱う。具体的には、算出部113は、ロボット装置1の現在の重心の平面位置および平面速度、N歩先までの各歩におけるロボット装置1の計画支持点位置(目標圧力中心点位置)、ならびに(重心垂直安定化器によって)算出されたN歩先までの各歩におけるロボット装置1の重心の垂直位置に基づいて、ロボット装置1の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、およびロボット装置1の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する。算出部113は、着床点変更量の最小値および圧力中心点変更量の最小値を算出する。
 また、算出部113は、図1に示す足先軌道生成器の機能を実行する。具体的には、算出部113は、生成部111によって生成された計画着床点位置および(重心水平安定化器によって)算出された着床点変更量に基づいて、ロボット装置1の現在の遊脚が次に着床する着床点位置である目標足先位置を算出する。
 駆動制御部114は、ロボット装置1の安定化を実現するための圧力中心点位置および目標足先位置を、一般化逆動力学(GID)を用いた全身協調制御によって実際のロボット装置1で実現する。具体的には、駆動制御部114は、算出部113によって算出された圧力中心点位置および目標足先位置を実現するようにロボット装置1の姿勢および移動を制御する。より具体的には、駆動制御部114は、算出部113によって算出された圧力中心点位置および目標足先位置を実現するようにロボット装置1の各関節に発生させるべき関節駆動力(トルク)を算出する。例えば、駆動制御部114は、推定部112によって推定されたロボット装置1の全状態量(基本位置および基本姿勢、基本関節角度および基本関節角速度)、利用者によって指定された目標姿勢角度、算出部113によって算出された目標合力または目標位置、圧力中心点位置、および目標足先位置に基づいて、ロボット装置1の各関節に発生させるべき関節駆動力(トルク)を算出する。続いて、駆動制御部114は、算出した関節駆動力(トルク)をロボット装置1の各関節に発生させるようにロボット装置1の各関節の動作を制御する。
[3.重心水平安定化器内部アルゴリズムの概要]
 本実施形態に係る重心水平安定化器は、ロボット装置1の水平方向((X、Y)方向)について取り扱う。ロボット装置1の垂直方向(Z方向)に関しては、別モジュール(図1に示す重心垂直安定化器)で別途設計され、本モジュール(重心水平安定化器)に入力として与える。このようにすることで、垂直方向の非線形性を時変線形化して取り扱う。
 重心水平安定化器内部アルゴリズムの概要は、下記の3つのステップからなる。なお、上述したように、重心水平安定化器の内部では、計画支持点を目標圧力中心点(目標CoP)として扱う。そこで、以下では、支持点配列のことを目標圧力中心配列(目標CoP配列ともいう)と記載する場合がある。
 ステップ#1:ロボット装置1の現在の重心の平面位置および平面速度、N歩先までの各歩におけるロボット装置1の計画支持点位置(目標圧力中心点位置)を示す支持点座標の支持点配列(目標圧力中心点配列)、N歩先までの各歩におけるロボット装置1の接地脚の計画上の接地点位置を示す接地点座標の接地点配列、N歩先までの各歩におけるロボット装置1の接地脚が発生すべき圧力中心点位置(支持点位置)の目標圧力中心点位置(計画支持点位置)からの圧力中心点変更量(支持点変更量)の圧力中心点変更量配列(支持点変更量配列)、N歩先までの各歩におけるロボット装置1の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量の着床点変更量配列を含んだN歩先のロボット装置1の重心の平面位置および平面速度の状態を、滞空期を含んだ形でモデリングする。
 ステップ#2:N歩先のロボット装置1の重心の状態に関して、安定化条件を拘束条件(Capture Point、Limit Cycle)とし、N歩先までの各歩におけるロボット装置1の圧力中心点変更量配列(支持点変更量配列)および着床点変更量配列を求める。
 ステップ#3:ステップ#2の直近の変更量(つまり、直近の圧力中心点変更量および着床点変更量)を出力とし、ロボット装置1で実現する。
[3-1.モデリング方法]
 図6~図9を用いて、重心水平安定化器内部アルゴリズムのステップ#1のモデリング方法について説明する。
 図6は、実施形態に係るロボット装置1の重心-圧力中心点モデルを示す図である。図6に示すように、算出部113は、ロボット装置1の制御モデルを、ロボット装置1の重心と支持点(圧力中心点)からなる重心-圧力中心点モデルとみなして、N歩先までの各歩におけるロボット装置1の重心の運動方程式を支持点変更量(圧力中心点変更量)および着床点変更量を未知パラメータとして算出する。
 図6では、ロボット装置1の重心の質量をm、ロボット装置1の重心に作用する力をf、ロボット装置1の重心の位置をx=(x、y,z)、ロボット装置1の支持点(圧力中心点)位置をp=(p、p、p)、支持点回りに作用するモーメントnからなる重心-圧力中心点モデルを考える。
 図6に示すモデルを用いると、グローバル座標からみた重心の運動方程式は、以下の式(1)で示される。
Figure JPOXMLDOC01-appb-M000001
 また、グローバル座標からみた重心の角運動量の運動方程式は、以下の式(2)で示される。
Figure JPOXMLDOC01-appb-M000002
 ここで、L=0、n=0と仮定し、式(1)から求めたfを式(2)に代入すると、以下の式(3)~(5)が得られる。
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 上記の式(5)により、グローバル座標からみた重心の運動方程式が求められた。
 次に、式(5)を支持点位置pから見た運動方程式に置き換える。支持点位置pから見た重心位置を(X,Y、Z)とすると、以下の式(6)のように表せる。
Figure JPOXMLDOC01-appb-M000006
 ここで、支持点位置pは不動と仮定すると、式(5)、(6)より、以下の式(7)で示す水平方向の支持点から見た運動方程式が得られる。
Figure JPOXMLDOC01-appb-M000007
 上記の式(7)のZの要素が、上位の制御系において独立して制御され、既知であると仮定すると、Zは自明な時間関数として扱うことができ、上記の式(7)は以下の式(8)で示すような時変線形系として考えることができる。
Figure JPOXMLDOC01-appb-M000008
 上記の式(8)はX方向について立式したものであるが、Y方向も同様に成り立つため、以降はX方向のみについて扱う。
 図7は、実施形態に係るステップ刻みの重心-圧力中心点モデルを示す図である。図7では、重心の動きを、ある時刻k=0からdtステップごとにNまで変化させたときの遷移ダイナミクスを考える。また、図7では、pを計画支持点位置(目標圧力中心点位置)、dxを支持点位置(圧力中心点位置)の計画支持点位置(目標圧力中心点位置)pからの支持点変更量(圧力中心点変更量)とし、時刻k=0~Nの間、計画支持点位置pは不変であると仮定する。
 図7に示すモデルを用いると、水平方向の重心の運動の離散化式は以下の式(9)のように与えられる。
Figure JPOXMLDOC01-appb-M000009
 ここで、上記の式(9)に対し、上記の式(8)のα(t)をkステップごとにαとして代入し、支持点位置がdxだけ並行移動したものとして扱うと、状態空間表現は以下の式(10)となる。
Figure JPOXMLDOC01-appb-M000010
 上記の式(10)において、Akは、定数であるdtと時変なαから求めることができ、αとdxを与えれば、Nステップ先までの状態を得ることができる。初期状態XからNステップ先までの遷移式を以下の式(11)に示す。
Figure JPOXMLDOC01-appb-M000011
 図8は、実施形態に係る支持点変更時の重心-圧力中心点モデルを示す図である。図8では、ロボット装置1の第i歩目の状態を考える。また、図8では、ロボット装置1の第i歩目における計画支持点位置(目標圧力中心点位置)をpxiとする。また、図8では、図7で求めたNステップ目に、計画支持点位置(目標圧力中心点位置)pxiから計画支持点位置(目標圧力中心点位置)pxi+1へli+1だけ計画支持点位置(目標圧力中心点位置)の変更が発生した時の様子を示す。上記の式(11)より、k=0~Nまでの遷移ダイナミクスは以下の式(12)となる。
Figure JPOXMLDOC01-appb-M000012
 上記の式(12)において、piは図8のk=0時点での、pii+1k=N時点での、計画支持点位置(目標圧力中心点位置)pxiから見た重心位置である。また、変更後の計画支持点位置(目標圧力中心点位置)pxi+1から見たk=N時点での重心運動は以下の式(13)となる。
Figure JPOXMLDOC01-appb-M000013
 上記の式(13)に上記の式(12)を代入すると、計画支持点位置(目標圧力中心点位置)変更に伴うダイナミクスを以下の式(14)のように表すことができる。
Figure JPOXMLDOC01-appb-M000014
 次に、滞空期を考える。ここで、滞空期とは、ロボット装置1の脚がいずれも接地していない(空中に浮いている)期間のことを指す。例えば、滞空期が図8のk=Nの設置期間後に、計画支持点位置(目標圧力中心点位置)変更前と隣接していたとする。滞空期では、並進運動は等速直線運動となるため、以下の式(15)が成り立つ。
Figure JPOXMLDOC01-appb-M000015
 上記の式(13)に上記の式(15)を代入すると、滞空期を有する場合のダイナミクスを以下の式(16)のように表すことができる。
Figure JPOXMLDOC01-appb-M000016
 上記の式(16)は、滞空期がゼロの(つまり、ロボット装置1が跳躍しない)場合は、計画支持点位置(目標圧力中心点位置)変更ダイナミクスの式(14)と等しくなる。以上により、滞空期を有する場合の計画支持点位置(目標圧力中心点位置)変更ダイナミクスを表す式を得ることができた。
 次に、上記の式(16)で表される計画支持点位置(目標圧力中心点位置)変更がN回行われたとき、現在の重心の状態を初期値としてN歩目までの遷移ダイナミクスを表す式を求める。上記の式(16)のli+1を、新たに計画上の歩幅li+1とこれに対する変更量dli+1の和として表すと、以下の式(17)となる。
Figure JPOXMLDOC01-appb-M000017
 上記の式(17)を用いて、i=0~2までのダイナミクスを計算すると、以下の式(18)~(20)となる。
Figure JPOXMLDOC01-appb-M000018
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
 上記の式(18)~(20)を行列形式にまとめると、以下の式(21)を得る。
Figure JPOXMLDOC01-appb-M000021
 上記の式(21)を、N歩目までの重心状態として一般化すると、下記の式(22)となる。
Figure JPOXMLDOC01-appb-M000022
 最終状態のみを利用する場合には、上記の式(22)を用いればよい。また、中間の軌道を求めたい場合には、上記の式(21)より計算可能である。以上により、重心の初期状態から、支持点変更量(圧力中心点変更量)、歩幅の計画値(計画着床点位置に対応)、歩幅の変更量(着床点変更量に対応)を考慮したN歩先の重心状態が求められた。
 図9は、実施形態に係るN歩先(N=3)の重心状態を表すモデリング結果のイメージを示す図である。図9は、上記の式(22)でN=3とした場合のN歩後の重心状態を表すモデリング結果のイメージを示す図である。
 上記の式(22)は、滞空期を含んだモデリング結果であり、ロボット装置1の跳躍も扱えるのがポイントとなっている。滞空期が存在しない場合、δiをゼロにすれば良く、制御モデルを切り替える必要がない。また上下動がない、線形倒立振子を仮定する場合、上下動に関する時変行列を計算する必要がなく、解析解で次の1歩までの遷移をモデリングすれば良く、演算量を削減可能である。
 このように、情報処理装置100は、上記の式(22)を用いることで、脚式ロボット装置の跳躍を含む多様な歩容を低演算量、単一制御モデルで安定化可能とすることができる。これにより、情報処理装置100は、脚式ロボット装置に対し、低コストで多様な歩行パターンを表現可能とすることができる。
 また、情報処理装置100は、上記の式(22)を用いることで、高速演算が可能なため、外乱の大きさを制御量から推定可能とすることができる。これにより、情報処理装置100は、対応できないような大きな外乱や不安定化を事前に予測することができるため、利用者がロボット装置に対し、緊急停止や回避動作を即座にとらせることができる。
 また、上記の式(22)のアルゴリズムはヒューリスティックな方法ではない。そのため、情報処理装置100は、さまざまな形状のロボット装置に対し、同一のアルゴリズム(式(22))で対応できる。
[3-2.安定条件の記述、圧力中心点変更量配列(支持点変更量配列)および着床点変更量配列の算出]
 図10~図14を用いて、重心水平安定化器内部アルゴリズムのステップ#2の安定条件の記述、圧力中心点変更量配列(支持点変更量配列)および着床点変更量配列の算出について説明する。
 図10は、実施形態に係るN歩目が着床してからt秒後の重心の運動方程式を説明するための図である。図10に示すように、N歩先のロボット装置1の重心状態Xに関して、Xからの将来状態が安定化を達成する拘束を課す。このようにすることによって、複数歩を利用した安定化が考慮でき、1歩では対応しきれない強い外乱にも対応可能である。X(0)からt秒後経過した状態をX(t)とし、高さ一定を仮定すると、その間の運動方程式は図10の式(a)のような解析解で表すことが出来る。hは床から重心までの距離、gは重力定数であり、初期状態と時間のみで運動が決定される。
 まず、最初に安定化規範をCapture Pointとする場合の説明を行う。図10の式(a)の発散成分をゼロにするようなX(0)とドット付きX(0)の組を実現すれば、X(t)は無限遠で必ずゼロに収束し、着床点の真上で静止する。このような着床点がCapture Pointと呼ばれる。これを実現するには、図10の式(b)を満たせば良い。
 次に、図11の式(c)を用いて、圧力中心点変更量(支持点変更量)および着床点変更量を算出する。図11は、実施形態に係る安定化条件(Capture Point)を満たす運動方程式を説明するための図である。図11の式(c)では、ハット付きxが変数ベクトルであり、N歩分のそれぞれの変更量が含まれる。
 また図11の式(c)は、一般には式の数より変数が多い冗長系であるため、拘束を満たす解が複数存在する。そのため、変数のノルム最小解を重み付き擬似逆行列、SVDなどを用いて求めれば良く、高速に演算が可能である。さらに、ハット付きxに対し、要素を強制的にゼロ代入するような変換行列を乗じることで、ある区間の歩幅変更量(着床点変更量に対応)、圧力中心点変更量(支持点変更量)は行わないといった拘束が簡易に設定可能である。変換例を図12に示す。図12は、実施形態に係る安定化に用いる出力の選択行列の構成例を示す図である。
 図11の式(c)のハット付きxに図12に示す変換行列Sを乗じることで、変数に強制的にゼロが代入され、その変更量は利用せずに安定化を行うといったことが可能となる。変換行列Sの選択方法はロボットの歩容、タスクによって、簡単に設定することができ、制御モデルとして同一のものを常に利用できるメリットがある。例えば、4脚ロボットではトロットやギャロップなど、支持多角系が構成できない歩容(跳躍もこれに当たる)があるが、その時には、圧力中心点(支持点)操作量の変数をゼロにするように変換行列Sを設定すればよい。
 しかしながら、上記の安定化規範がCapture Pointである場合、次のようなデメリットが存在する。(1)制御調整用パラメータが、解導出の際の変数に対する最小化の重みしかなく、自由度が低い。(2)未来に拘束を課し、その条件を満たす先頭状態のみを制御する予見制御系に属するため、目標重心位置や速度に対して、定常偏差が発生する。(3)重心のモデル化誤差に脆弱である。
 そこで次に、安定化規範をLimit Cycleに拡張する。安定化規範がCapture Pointである場合の終端安定化条件を”無限遠で停止”から、Limit Cycle拘束へ拡張を行う。Limit Cycle とは、力学系における相空間上での閉軌道であり、位置と速度の関係が一定な法則を保つ現象である。本実施形態では、終端時刻で、Limit Cycle が形成されるような拘束式を導出する。まず、ロボット装置1が転倒しないLimit Cycle 軌道を算出するため、軌道エネルギーEを考える。高さ一定を仮定する線形倒立振子モードの定常歩行運動では、図13に示すように、軌道エネルギーは常にE>0を満たす領域で動作する。図13は、実施形態に係る軌道エネルギーと歩行動作の関係を説明するための図である。
 Limit Cycle拘束を課すことにより、N歩目が着床した瞬間の重心位置および速度が、着床後の時刻tでE>0となるような終端拘束条件を設定することで、N歩目以降が転倒せず、かつ、急激な歩幅変更を発生しないような運動が生成可能である。これらを満たす拘束式を図14に示す。図14は、実施形態に係る安定化条件(Limit Cycle)を満たす運動方程式を説明するための図である。線形倒立振子が定常動作を繰り返す時の位置の双対性を利用し、X(t)の位置を、着床直後のX(0)の符号反転としている。これは、着床後、時刻tで目標速度を満たしつつ、E>0を強制するX(0)を求める拘束式となる。
 安定化規範がCapture Pointである場合は、無限遠で停止するという条件だったため、現在の重心状態を反映した終端条件の設定変更パラメータがなく、動的な変更は不可能であった。しかし、図14に示したvrefを利用することで、現在の重心状態から終端条件を設定可能となった。例えば、Kを偏差に対するフィードバックゲイン、Kを偏差積分値に対するフィードバックゲインとして、vrefを以下の式(23)のように設計する。
Figure JPOXMLDOC01-appb-M000023
 上記の式(23)では、ハット付きvrefを利用者からの速度指令値として、誤差e(t)を現在速度との差分として与えれば、速度に関して積分器が導入されたことになり、ロバスト化が実現できる。位置に関しても同様で、立脚時の偏差を解消したい場合、誤差e(t)を位置との差分として計算すれば良い。これは、現在の重心状態と、将来達成したい運動目的から、将来のE>0領域の高さを制御しているという意味を持つ。相空間上のどの高さ(つまり、速度)となったとしても、常にE>0は担保されるため、安定性を保証することができる。このように、情報処理装置100は、利用者の目的に応じた制御量の調整が可能となる。したがって、予測制御系は一般に定常偏差が残留するが、情報処理装置100は、定常偏差の残留を解決することができる。
[4.応用例]
 本実施形態に係る重心水平安定化器の出力値である圧力中心点変更量(支持点変更量)および着床点変更量を、ロボット装置1の安定化以外の目的で、高次な状況判断にも利用することができる。
 (例1)特別なセンサを搭載しなくても、安定化器の出力結果である歩幅変更量から、どの方向から外乱が入ったのかを利用者が推定することができるので、ロボット装置1の自律移動性能を高めることができる(例えば、進行方向から外乱が入ったので、ロボット装置1を自動で停止させるなど)。
 (例2)重心水平安定化器の出力結果である歩幅変更量に対し、最大値を利用者が設定し、それを超えたら危険と判断し、ロボット装置1を自動停止、転倒回避動作に自律的に移行させることができる。
 (例3)平面における着床点変更量の平均値の増加から、ロボットの経年劣化を自律的に判断することができる。
[5.ハードウェア構成]
 上述してきた実施形態に係る情報処理装置100等の情報機器は、例えば図15に示すような構成のコンピュータ1000によって再現される。図15は、情報処理装置100等の情報処理装置の機能を再現するコンピュータ1000の一例を示すハードウェア構成図である。以下、実施形態に係る情報処理装置100を例に挙げて説明する。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係るプログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部110等の機能を再現する。また、HDD1400には、本開示に係るプログラムや、各種のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、本技術は以下のような構成も取ることができる。
(1)
 1以上の脚部を備えるロボット装置の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、および前記ロボット装置の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する算出部と、
 前記算出部によって算出された前記着床点変更量または前記圧力中心点変更量のうち少なくともいずれか一方に基づいて、前記ロボット装置の姿勢および移動を制御する駆動制御部と、
 を備える情報処理装置。
(2)
 前記算出部は、
 前記ロボット装置の現在の重心の平面位置および平面速度、N歩先(Nは自然数)までの各歩における前記ロボット装置の接地脚の計画上の接地点位置の平均である計画支持点位置、ならびにN歩先までの各歩における前記ロボット装置の重心の垂直位置に基づいて、前記着床点変更量および前記圧力中心点変更量を算出する、
 前記(1)に記載の情報処理装置。
(3)
 前記算出部は、
 前記ロボット装置の制御モデルを、前記ロボット装置の重心と前記ロボット装置の接地脚が発生すべき圧力中心点とからなる重心-圧力中心点モデルとみなして、N歩先までの各歩における前記ロボット装置の重心の運動方程式を前記着床点変更量と前記圧力中心点変更量を未知パラメータとして算出する、
 前記(1)に記載の情報処理装置。
(4)
 前記算出部は、
 滞空期を含む前記ロボット装置の重心の運動方程式を算出する、
 前記(1)に記載の情報処理装置。
(5)
 前記算出部は、
 前記ロボット装置がN歩先に到達してから時間的無限遠が経過したときにN歩先の前記ロボット装置の重心がN歩先の前記ロボット装置の前記計画支持点位置の真上で静止するという拘束条件の下で、N歩先の前記ロボット装置の重心の運動方程式を解くことで、前記着床点変更量および前記圧力中心点変更量を算出する、
 前記(2)に記載の情報処理装置。
(6)
 前記算出部は、
 N歩先の前記ロボット装置の姿勢および移動と(N-1)歩先の前記ロボット装置の姿勢および移動が一致するという拘束条件の下で、N歩先の前記ロボット装置の重心の運動方程式を解くことで、前記着床点変更量および前記圧力中心点変更量を算出する、
 前記(1)に記載の情報処理装置。
(7)
 前記算出部は、
 前記着床点変更量の最小値および前記圧力中心点変更量の最小値を算出する、
 前記(1)に記載の情報処理装置。
(8)
 前記ロボット装置は、4つの前記脚部を備える脚式のロボット装置である、
 前記(1)に記載の情報処理装置。
(9)
 演算処理装置によって、
 1以上の脚部を備えるロボット装置の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、または前記ロボット装置の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出することと、
 算出した前記着床点変更量または前記圧力中心点変更量のうち少なくともいずれか一方に基づいて、前記ロボット装置の姿勢および移動を制御することと、
 を含む情報処理方法。
(10)
 コンピュータを、
 1以上の脚部を備えるロボット装置の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、または前記ロボット装置の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する算出部と、
 前記算出部によって算出された前記着床点変更量または前記圧力中心点変更量のうち少なくともいずれか一方に基づいて、前記ロボット装置の姿勢および移動を制御する駆動制御部と、
 として機能させるプログラム。
   1 ロボット装置
  11 入力部
  12 駆動部
  13 トルク検出部
 100 情報処理装置
 110 制御部
 111 生成部
 112 推定部
 113 算出部
 114 駆動制御部

Claims (10)

  1.  1以上の脚部を備えるロボット装置の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、および前記ロボット装置の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する算出部と、
     前記算出部によって算出された前記着床点変更量または前記圧力中心点変更量のうち少なくともいずれか一方に基づいて、前記ロボット装置の姿勢および移動を制御する駆動制御部と、
     を備える情報処理装置。
  2.  前記算出部は、
     前記ロボット装置の現在の重心の平面位置および平面速度、N歩先(Nは自然数)までの各歩における前記ロボット装置の接地脚の計画上の接地点位置の平均である計画支持点位置、ならびにN歩先までの各歩における前記ロボット装置の重心の垂直位置に基づいて、前記着床点変更量および前記圧力中心点変更量を算出する、
     請求項1に記載の情報処理装置。
  3.  前記算出部は、
     前記ロボット装置の制御モデルを、前記ロボット装置の重心と前記ロボット装置の接地脚が発生すべき圧力中心点とからなる重心-圧力中心点モデルとみなして、N歩先までの各歩における前記ロボット装置の重心の運動方程式を前記着床点変更量と前記圧力中心点変更量を未知パラメータとして算出する、
     請求項1に記載の情報処理装置。
  4.  前記算出部は、
     滞空期を含む前記ロボット装置の重心の運動方程式を算出する、
     請求項1に記載の情報処理装置。
  5.  前記算出部は、
     前記ロボット装置がN歩先に到達してから時間的無限遠が経過したときにN歩先の前記ロボット装置の重心がN歩先の前記ロボット装置の前記計画支持点位置の真上で静止するという拘束条件の下で、N歩先の前記ロボット装置の重心の運動方程式を解くことで、前記着床点変更量および前記圧力中心点変更量を算出する、
     請求項2に記載の情報処理装置。
  6.  前記算出部は、
     N歩先の前記ロボット装置の姿勢および移動と(N-1)歩先の前記ロボット装置の姿勢および移動が一致するという拘束条件の下で、N歩先の前記ロボット装置の重心の運動方程式を解くことで、前記着床点変更量および前記圧力中心点変更量を算出する、
     請求項1に記載の情報処理装置。
  7.  前記算出部は、
     前記着床点変更量の最小値および前記圧力中心点変更量の最小値を算出する、
     請求項1に記載の情報処理装置。
  8.  前記ロボット装置は、4つの前記脚部を備える脚式のロボット装置である、
     請求項1に記載の情報処理装置。
  9.  演算処理装置によって、
     1以上の脚部を備えるロボット装置の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、または前記ロボット装置の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出することと、
     算出した前記着床点変更量または前記圧力中心点変更量のうち少なくともいずれか一方に基づいて、前記ロボット装置の姿勢および移動を制御することと、
     を含む情報処理方法。
  10.  コンピュータを、
     1以上の脚部を備えるロボット装置の現在の遊脚が次に着床する着床点位置の計画着床点位置からの着床点変更量、または前記ロボット装置の現在の接地脚が発生すべき圧力中心点位置の目標圧力中心点位置からの圧力中心点変更量を算出する算出部と、
     前記算出部によって算出された前記着床点変更量または前記圧力中心点変更量のうち少なくともいずれか一方に基づいて、前記ロボット装置の姿勢および移動を制御する駆動制御部と、
     として機能させるプログラム。
PCT/JP2022/005232 2021-02-22 2022-02-10 情報処理装置、情報処理方法及びプログラム WO2022176751A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22756071.1A EP4296010A1 (en) 2021-02-22 2022-02-10 Information processing device, information processing method, and program
US18/546,281 US20240126303A1 (en) 2021-02-22 2022-02-10 Information processing device, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021026428A JP2022128093A (ja) 2021-02-22 2021-02-22 情報処理装置、情報処理方法及びプログラム
JP2021-026428 2021-02-22

Publications (1)

Publication Number Publication Date
WO2022176751A1 true WO2022176751A1 (ja) 2022-08-25

Family

ID=82931692

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/005232 WO2022176751A1 (ja) 2021-02-22 2022-02-10 情報処理装置、情報処理方法及びプログラム

Country Status (4)

Country Link
US (1) US20240126303A1 (ja)
EP (1) EP4296010A1 (ja)
JP (1) JP2022128093A (ja)
WO (1) WO2022176751A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05277968A (ja) * 1992-03-31 1993-10-26 Honda Motor Co Ltd 脚式移動ロボットの制御装置
JP2011240475A (ja) 2010-04-22 2011-12-01 Honda Motor Co Ltd ロボットおよび制御システム
JP2014151370A (ja) * 2013-02-05 2014-08-25 Toyota Motor Corp 脚式ロボットの制御方法および脚式ロボット
JP2017202535A (ja) 2016-05-10 2017-11-16 パナソニック株式会社 歩行制御方法、歩行制御プログラム及び2足歩行ロボット
WO2019187506A1 (ja) * 2018-03-30 2019-10-03 ソニー株式会社 制御装置及びロボット装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05277968A (ja) * 1992-03-31 1993-10-26 Honda Motor Co Ltd 脚式移動ロボットの制御装置
JP2011240475A (ja) 2010-04-22 2011-12-01 Honda Motor Co Ltd ロボットおよび制御システム
JP2014151370A (ja) * 2013-02-05 2014-08-25 Toyota Motor Corp 脚式ロボットの制御方法および脚式ロボット
JP2017202535A (ja) 2016-05-10 2017-11-16 パナソニック株式会社 歩行制御方法、歩行制御プログラム及び2足歩行ロボット
WO2019187506A1 (ja) * 2018-03-30 2019-10-03 ソニー株式会社 制御装置及びロボット装置

Also Published As

Publication number Publication date
JP2022128093A (ja) 2022-09-01
EP4296010A1 (en) 2023-12-27
US20240126303A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
Fahmi et al. Passive whole-body control for quadruped robots: Experimental validation over challenging terrain
US8005573B2 (en) Control device for legged mobile robot
JP5483997B2 (ja) 脚式移動ロボットの制御装置
US8793019B2 (en) Control device for legged mobile robot
US9389598B2 (en) Systems and methods for tracking and balancing robots for imitating motion capture data
US7848849B2 (en) Controller of leg type moving robot
US7734377B2 (en) Gait generator of legged mobile robot
US20070145930A1 (en) Robot controller
JPWO2002040224A1 (ja) 脚式移動ロボットの歩容生成装置
JP2011093027A (ja) 脚式移動ロボットの制御装置
JP6781101B2 (ja) 非線形システムの制御方法、二足歩行ロボットの制御装置、二足歩行ロボットの制御方法及びそのプログラム
Chignoli et al. Online trajectory optimization for dynamic aerial motions of a quadruped robot
Morisawa et al. Biped locomotion control for uneven terrain with narrow support region
Chi et al. A linearization of centroidal dynamics for the model-predictive control of quadruped robots
JP4483254B2 (ja) ロボット装置及びロボット装置の制御方法
Lee et al. Whole-body motion and landing force control for quadrupedal stair climbing
WO2022176751A1 (ja) 情報処理装置、情報処理方法及びプログラム
Perrin et al. Compliant attitude control and stepping strategy for balance recovery with the humanoid coman
Wu et al. Highly robust running of articulated bipeds in unobserved terrain
CN116237943A (zh) 一种结合地形约束的四足机器人控制方法
JP7221833B2 (ja) 非線形モデル予測制御装置
Palmer et al. Force redistribution in a quadruped running trot
JP3726097B2 (ja) 脚式移動ロボットの姿勢制御装置
Huang et al. Task-space whole-body control with variable contact force control for position-controlled humanoid adaptation to unknown disturbance
JP5440152B2 (ja) 脚式ロボットとそのための歩容データ生成方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22756071

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18546281

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2022756071

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022756071

Country of ref document: EP

Effective date: 20230922