[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

EP2428335A1 - Robot and control method thereof - Google Patents

Robot and control method thereof Download PDF

Info

Publication number
EP2428335A1
EP2428335A1 EP11180042A EP11180042A EP2428335A1 EP 2428335 A1 EP2428335 A1 EP 2428335A1 EP 11180042 A EP11180042 A EP 11180042A EP 11180042 A EP11180042 A EP 11180042A EP 2428335 A1 EP2428335 A1 EP 2428335A1
Authority
EP
European Patent Office
Prior art keywords
robot
walking
joints
control
half cycle
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
EP11180042A
Other languages
German (de)
French (fr)
Other versions
EP2428335B1 (en
Inventor
Bok Man Lim
Kyung Shik Roh
Woong Kwon
Ju Suk Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of EP2428335A1 publication Critical patent/EP2428335A1/en
Application granted granted Critical
Publication of EP2428335B1 publication Critical patent/EP2428335B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39261Calculate driving torque from dynamic model, computed torque method variant

Definitions

  • Embodiments relate to a robot, which walks based on actuated dynamic walking, and a control method thereof.
  • Such walking robots include multi-leg walking robots having a plurality of legs, such as bipedal or tripedal walking robots, and in order to achieve stable walking of the robots, actuators, such as electric actuators and hydraulic actuators, located at respective joints, need to be driven.
  • Driving of actuators is generally divided into a position-based Zero Moment Point (ZMP) control method in which command angles, i.e., command positions, of respective joints are given and the joints are controlled so as to trace the command angles, and a torque-based Finite State Machine (FSM) control method in which command torques of respective joints are given and the joints are controlled so as to trace the command torques.
  • ZMP Zero Moment Point
  • FSM Finite State Machine
  • a walking direction, a walking stride, and a walking velocity of a robot are set in advance so as to satisfy a ZMP constraint, i.e., a condition that a ZMP is present in a safety region within a support polygon formed by (a) supporting leg(s) (if the robot is supported by one leg, this means the region of the leg, and if the robot is supported by two legs, this means a region set to have a small area within a convex polygon including the regions of the two legs in consideration of safety), walking patterns of the respective legs corresponding to the set factors are created, and walking trajectories of the respective legs are calculated based on the walking patterns.
  • a ZMP constraint i.e., a condition that a ZMP is present in a safety region within a support polygon formed by (a) supporting leg(s) (if the robot is supported by one leg, this means the region of the leg, and if the robot is supported by two legs, this means a region set to have a small area
  • angles of joints of the respective legs are calculated through inverse kinematic calculation of the calculated walking trajectories, and target control values of the respective joints are calculated based on current angles and target angles of the respective joints. Further, servo control in which the respective legs trace the calculated walking trajectories per control time is achieved. That is, during walking, whether or not positions of the respective legs precisely trace the walking trajectories according to the walking patterns is detected, and if some legs deviate from the walking trajectories, torques of actuators are adjusted so that the respective legs precisely trace the walking trajectories.
  • the ZMP control method is a position-based control method and thus achieves precise position control, but performs precise angle control of the respective joints in order to control the ZMP and thus requires a high servo gain. Thereby, the ZMP control method requires high current and thus has low energy efficiency and high stiffness of the joints.
  • the FSM control method instead of tracing positions per control time, a finite number of operating states of a robot is defined in advance, target torques of respective joints are calculated with reference to the respective operating states during walking, and the joints are controlled so as to trace the target torques.
  • Such an FSM control method controls torques of the respective joints during walking and thus enables a low servo gain, thereby achieving high energy efficiency and low stiffness.
  • the FSM control method does not need to avoid kinematic singularities, thereby allowing the robot to have a more natural gait with knees extended straight similar to that of a human.
  • Actuated dynamic walking employs torque-based control instead of position-based control, thereby having high energy efficiency and allowing a robot to have a more natural gait similar to that of a human.
  • actuated dynamic walking cannot achieve precise position control and thus causes a difficulty in precisely controlling a stride or a walking velocity.
  • a walking pattern is planed directly on a joint space differently from position-based control, thus causing a difficulty in forming a walking pattern having desired stride, walking velocity, and walking direction.
  • a robot which performs natural walking similar to a human with high energy efficiency through optimization of actuated dynamic walking, and a control method thereof.
  • a walking control method of a robot includes setting a plurality of variables to determine target joint routes and control gains as control variables, calculating torque input values based on the control variables, obtaining a resultant motion through calculation of forward dynamics using the torque input values, setting an objective function consisting of the sum total of a plurality of performance indices, and minimizing a value of the objective function through adjustment of the control variables.
  • the plurality of variables to determine the target joint routes may include a variable indicating left and right movement of hip joints of the robot, a variable indicating an inclination of a torso of the robot, a variable indicating a length of a stride of the robot, a variable indicating a bending angle of knees of the robot, a variable indicating a walking velocity of the robot, a variable indicating movement of ankles of the robot in the y-axis direction, a variable indicating an initial state of the left and right movement of the hip joints of the robot, and a variable indicating an initial state of the stride of the robot.
  • the control gains may include a position gain and a damping gain.
  • the target joint routes may be determined by setting a plurality of poses, selected from among poses assumed by the robot during walking of the robot in a half cycle, as reference poses and carrying out interpolation of angles of respective joints of the robot in the plurality of reference poses.
  • the walking of the robot in the half cycle may mean that the robot makes one step with its one foot.
  • the target joint routes may be overall routes of the respective joints obtained through symmetry in swing of left and right feet of the robot and periodicity in walking of the robot based on target joint routes of the respective joints determined during walking of the robot in the half cycle.
  • the reference poses may include a pose when the walking of the robot in the half cycle is started, a pose when the walking of the robot in the half cycle is completed, and a pose halfway between the point of time when the walking of the robot in the half cycle is started and the point of time when the walking of the robot in the half cycle is completed.
  • the joints may include a torso joint, hip joints, knee joints, and ankle joints.
  • the objective function may consist of the sum total of a performance index indicating a position error of a foot of the robot contacting the ground, a performance index indicating a force error transmitted to the foot of the robot at the point of time when the foot of the robot contacts the ground and a periodicity error of walking of the robot, a performance index indicating a walking velocity error of the robot, a performance index to minimize torques required during walking of the robot, and a performance index to minimize a walking style error generated when a current walking style is compared with a predetermined walking style.
  • a robot in accordance with another aspect of an embodiment, includes an input unit to which a walking command of the robot is input, and a control unit to control walking of the robot by calculating torque input values through control variables, obtaining a resultant motion of the robot through calculation of forward dynamics using the torque input values, and minimizing a value of an objective function set to consist of the sum total of a plurality of performance indices through adjustment of the control variables.
  • the control variables may include a plurality of variables to determine target joint routes of the robot and control gains.
  • the plurality of variables to determine the target joint routes may include a variable indicating left and right movement of hip joints of the robot, a variable indicating an inclination of a torso of the robot, a variable indicating a length of a stride of the robot, a variable indicating a bending angle of knees of the robot, a variable indicating a walking velocity of the robot, a variable indicating movement of ankles of the robot in the y-axis direction, a variable indicating an initial state of the left and right movement of the hip joints of the robot, and a variable indicating an initial state of the stride of the robot.
  • the control gains may include a position gain and a damping gain.
  • the target joint routes may be determined by setting a plurality of poses, selected from among poses assumed by the robot during walking of the robot in a half cycle, as reference poses and carrying out interpolation of angles of respective joints of the robot in the plurality of reference poses.
  • the walking of the robot in the half cycle may mean that the robot makes one step with its one foot.
  • the target joint routes may be overall routes of the respective joints obtained through symmetry in swing of left and right feet of the robot and periodicity in walking of the robot based on target joint routes of the respective joints determined during walking of the robot in the half cycle.
  • the reference poses may include a pose when the walking of the robot in the half cycle is started, a pose when the walking of the robot in the half cycle is completed, and a pose halfway between the point of time when the walking of the robot in the half cycle is started and the point of time when the walking of the robot in the half cycle is completed.
  • the joints may include a torso joint, hip joints, knee joints, and ankle joints.
  • the objective function may consist of the sum total of a performance index indicating a position error of a foot of the robot contacting the ground, a performance index indicating a force error transmitted to the foot of the robot at the point of time when the foot of the robot contacts the ground and a periodicity error of walking of the robot, a performance index indicating a walking velocity error of the robot, a performance index to minimize torques required during walking of the robot, and a performance index to minimize a walking style error generated when a current walking style is compared with a predetermined walking style.
  • FIG. 1 is a view illustrating an external appearance of a robot in accordance with an embodiment.
  • a robot 100 in accordance with an embodiment is a bipedal walking robot, which walks upright using two legs 110 in the same manner as a human, and includes an upper body 101 including a torso 102, a head 104, and arms 106, and a lower body 103 including the two legs 110.
  • the upper body 101 of the robot 100 includes the torso 102, the head 104 connected to the upper portion of the torso 102 through a neck 120, the two arms 106L and 106R connected to both sides of the upper portion of the torso 102 through shoulders 114L and 114R, and hands 108L and 108R respectively connected to tips of the two arms 106L and 106R.
  • the lower body 103 of the robot 100 includes the two legs 110L and 110R connected to both sides of the lower portion of the torso 102 of the upper body 101, and feet 112L and 112R respectively connected to tips of the two legs 110L and 110R.
  • R and L respectively indicate the right and left sides of the robot 100
  • COG indicates the center of gravity of the robot 100
  • FIG. 2 is a view illustrating structures of main joints of the robot of FIG. 1 .
  • a pose sensor 14 is installed on the torso 102 of the robot 100.
  • the pose sensor 14 detects a tilt angle of the upper body 101, i.e., an inclination of the upper body 101 with respect to a vertical axis, and an angular velocity thereof, and then generates pose data.
  • the pose sensor 14 may be installed on the head 104 as well as the torso 102.
  • a waist joint unit 15 having 1 degree of freedom in the yaw direction so as to rotate the upper body 101 is installed on the torso 102.
  • cameras 41 to capture surrounding images and microphones 42 to input user's voice are installed on the head 104 of the robot 100.
  • the head 104 is connected to the torso 102 of the upper body 101 through a neck joint unit 280.
  • the neck joint unit 280 includes a rotary joint 281 in the yaw direction (rotated around the Z-axis), a rotary joint 282 in the pitch direction (rotated around the Y-axis), and a rotary joint 283 in the roll direction (rotated around the X-axis), and thus has 3 degrees of freedom.
  • Motors for example, actuators, such as electric motors or hydraulic motors to rotate the head 104 are connected to the respective rotary joints 281, 282, and 283 of the neck joint unit 280.
  • the two arms 106L and 106R of the robot 100 respectively include upper arm links 31, lower arm links 32, and the hands 108L and 108R.
  • the upper arm links 31 are connected to the upper body 101 through shoulder joint units 250L and 250R, the upper arm links 31 and the lower arm links 32 are connected to each other through elbow joint units 260, and the lower arm links 32 and the hands 108L and 108R are connected to each other by wrist joint units 270.
  • the shoulder joint units 250L and 250R are installed at both sides of the torso 102 of the upper body 101, and connect the two arms 106L and 106R to the torso 102 of the upper body 101.
  • Each elbow joint unit 260 has a rotary joint 261 in the pitch direction and a rotary joint 262 in the yaw direction, and thus has 2 degrees of freedom.
  • Each wrist joint unit 270 has a rotary joint 271 in the pitch direction and a rotary joint 272 in the roll direction, and thus has 2 degrees of freedom.
  • Each hand 108L or 108R is provided with five fingers 33a.
  • a plurality of joints (not shown) driven by motors may be installed on the respective fingers 33a.
  • the fingers 33a perform various motions, such as gripping of an article or pointing in a specific direction, in connection with movement of the arms 106.
  • the two legs 110L and 110R of the robot 100 respectively include thigh links 21, calf links 22, and the feet 112L and 112R.
  • the thigh links 21 correspond to thighs of a human and are connected to the torso 102 of the upper body 101 through hip joint units 210, the thigh links 21 and the calf links 22 are connected to each other by knee joint units 220, and the calf links 22 and the feet 112L and 112R are connected to each other by ankle joint units 230.
  • Each hip joint unit 210 has a rotary joint (hip yaw joint) 211 in the yaw direction (rotated around the Z-axis), a rotary joint (hip pitch joint) 212 in the pitch direction (rotated around the Y-axis), and a rotary joint (hip roll joint) 213 in the roll direction (rotated around the X-axis), and thus has 3 degrees of freedom.
  • Each knee joint unit 220 has a rotary joint 221 in the pitch direction, and thus has 1 degree of freedom.
  • Each ankle joint unit 230 has a rotary joint 231 in the pitch direction and a rotary joint 232 in the roll direction, and thus has 2 degrees of freedom.
  • multi-axis force and torque (F/T) sensors 24 are respectively installed between the feet 112L and 112R and the ankle joint units 230 of the two legs 110L and 110R.
  • the multi-axis F/T sensors 24 measure three-directional components Fx, Fy, and Fz of force and three-directional components Mx, My, and Mz of moment transmitted from the feet 112L and 112R, thereby detecting whether or not the feet 112L and 112R touch the ground and load applied to the feet 112L and 112R.
  • actuators such as motors, to drive the respective rotary joints are installed on the robot 100.
  • a control unit to control the overall operation of the robot 100 properly controls the motors, thereby allowing the robot 100 to perform various actions.
  • FIG. 3 is a view illustrating operating states of the robot and control actions of the respective operating states, while the robot in accordance with an embodiment walks based on an FSM.
  • operation of the robot 100 is divided into a plurality of operating states (for example, 6 states - S1, S2, S3, S4, S5, and S6), which are defined in advance.
  • the respective operating states S1, S2, S3, S4, S5, and S6 indicate poses of one leg 110L or 110R of the robot 100 during walking, and stable walking of the robot 100 is achieved by proper transition between such poses of the robot 100.
  • the first operating state (flight state) S1 corresponds to a pose of swinging the leg 110L or 110R
  • the second operating state (loading state) S2 corresponds to a pose of loading the foot 112 on the ground
  • the third operating state (heel contact state) S3 corresponds to a pose of bringing the heel of the foot 112 into contact with the ground
  • the fourth operating state (heel and toe contact state) S4 corresponds to a pose of bringing both the heel and the toe of the foot 112 into contact with the ground
  • the fifth operating state (toe contact state) S5 corresponds to a pose of bringing the toe of the foot 112 into contact with the ground
  • the sixth operating state (unloading state) S6 corresponds to a pose of unloading the foot 112 from the ground.
  • the robot 100 calculates torque commands of the respective joints corresponding to the respective control actions, and outputs the calculated torque commands to the actuators, such as the motors, installed on the respective joints to drive the actuators.
  • walking of the robot 100 is controlled depending on the operating states S1, S2, S3, S4, S5, and S6, defined in advance.
  • FIG. 4 is a walking control block diagram of the robot in accordance with an embodiment.
  • the robot 100 includes an input unit 400 through which a user inputs a walking command, etc., a control unit 410 to perform overall control of the robot 100 according to the action command input through the input unit 400, and driving units 420 to drive respective joints of the robot 100 according to a control signal from the control unit 410.
  • the control unit 410 includes a command interpretation unit 412, a motion trajectory generation unit 414, a storage unit 416, and a motion command unit 418.
  • the command interpretation unit 412 interprets the action command input through the input unit 400, and recognizes robot parts which perform a main motion having high relevance to the commanded action and robot parts which perform remaining motions having low relevance to the commanded action, respectively.
  • the motion trajectory generation unit 414 generates optimized motion trajectories as to the robot parts performing the main motion among the robot parts recognized by the command interpretation unit 412 through optimization in consideration of robot dynamics, and generates predetermined motion trajectories as to the robot parts performing the remaining motions so as to correspond to the commanded action.
  • each motion trajectory is one of joint trajectories, link trajectories, and end-effecter (for example, finger tip or toe tip) trajectories.
  • the storage unit 416 divisionally stores the robot parts performing the main motion having high relevance to the commanded action and the robot parts performing the remaining motions having low relevance to the commanded action according to respective action commands, and stores predetermined motion trajectories so as to correspond to the commanded action according to the respective action commands.
  • the motion command unit 418 outputs a motion command, causing the robot parts performing the main motion to move along the optimized motion trajectories generated by the motion trajectory generation unit 141, to the corresponding driving units 420 and thus controls operation of the driving units 420, and outputs a motion command, causing the robot parts performing the remaining motions to move along the predetermined motion trajectories corresponding to the commanded action generated by the motion trajectory generation unit 141, to the corresponding driving units 420 and thus controls operation of the driving units 420.
  • the control unit 410 sets control gains and a plurality of variables, which determine routes of target joints to be controlled during walking of the robot, as optimization variables.
  • the minimum number of control variables to determine target joint routes may be set using periodicity in walking and symmetry in swing of legs.
  • the variables P7 and P8 are control variables indicating an initial walking pose of the robot.
  • the above-described control variables except for the variable P5 indicating the walking velocity are expressed in angles in the directions of corresponding degrees of freedom of corresponding joints.
  • this embodiment describes eight variables to determine the target joint routes, the number of the variables is not limited thereto. Further, the contents of the variables are not limited thereto.
  • the control unit 410 calculates torque input values by parameterizing Expression to calculate the torque input values using the set optimization variables.
  • ⁇ i k i ⁇ p ⁇ q i d - q i - k i d ⁇ q ⁇ i
  • represents a torque input value
  • i means each of joints relating to walking, i.e., including a torso joint movable at an angle of ⁇ 1 (of FIG. 5A ) in the y-axis direction, left and right hip joints movable at angles of ⁇ 2 and ⁇ 3 (of FIG. 5A ) and ⁇ 8 and ⁇ 9 (of FIG. 5B ) in the y-axis direction and the x-axis direction, left and right knee joints movable at angles of ⁇ 4 and ⁇ 5 (of FIG. 5A ) in the y-axis direction, and left and right ankle joints movable at angles of ⁇ 6 and ⁇ 7 (of FIG. 5A ) and ⁇ 10 and ⁇ 11 (of FIG. 5B ) in the y-axis direction and the x-axis direction.
  • kp represents a position gain
  • kd represent a damping gain
  • qd represents a target joint route
  • q represents a current angle measured by an encoder
  • q ⁇ represents an angular velocity
  • the control unit 410 calculates the torque input values through Expression 1 using the control gains and the variables determining the target joint routes, which are set as optimization variables.
  • the control unit 410 selects plural poses from among continuous poses assumed by the robot during walking of the robot in a half cycle in which the robot makes one step with its one foot to determine the target joint routes, and sets the selected plural poses as reference poses.
  • the reference poses include a pose when the walking of the robot in the half cycle is started, a pose when the walking of the robot in the half cycle is completed, and a pose halfway between the point of time when the walking of the robot in the half cycle is started and the point of time when the walking of the robot in the half cycle is completed.
  • the control unit 410 calculates angles of the torso joint, the hip joints, the knee joints, and the ankle joints in the directions of the corresponding degrees of freedom in the respective reference poses, and determines routes of the respective target joints of the robot during walking of the robot in the half cycle through spline interpolation of the calculated angles.
  • FIG. 6 is a graph illustrating routes of the hip joints among the target joints of the robot in accordance with an embodiment. Angle variations of the hip joints in the y-axis direction in each of the respective reference poses are calculated, and routes of the hip joints of the robot during walking of the robot in the half cycle (indicated by a circle in FIG. 6 ) are generated through spline interpolation of the calculated angle variations. A solid line indicates the route of the right hip joint, and a dotted line indicates the route of the left hip joint.
  • routes during walking of the robot in the half cycle may be determined using periodicity in walking and symmetry in leg swing, as shown in FIG. 6 .
  • the control unit 410 sets an objective function J consisting of the sum total of various performance indices to allow the robot to perform natural walking similar to a human with high energy efficiency.
  • J w 1 ⁇ J 1 + w 2 ⁇ J 2 + w 3 ⁇ J 3 + w 4 ⁇ J 4 + w 5 ⁇ J 5
  • J 3 ⁇ v - v d ⁇ 2
  • Expression 2 represents the objective function J consisting of the sum total of plural performance indices J1 ⁇ J5 relating to walking of the robot. Coefficients preceding the performance indices mean weights assigned to apply importance to the respective performance indices.
  • the control unit 410 checks whether or not a value of the objective function J satisfies a convergence condition (i.e., a predetermined condition).
  • the convergence condition is satisfied if a difference between the current value of the objective function and a value of the objective function calculated in the previous process is less than a designated value.
  • the designated value may be predetermined by a user.
  • the control unit 410 makes the value of the objective function to satisfy the convergence condition, thereby allowing the robot to perform natural walking similar to a human with high energy efficiency.
  • Expression 3 represents numerical formulas of the respective performance indices of the objective function.
  • J1 is a performance index indicating a position error of a foot of the robot contacting the ground
  • x represents an actual position of the foot contacting the ground
  • xd represents an objective position of the foot contacting the ground
  • i represents the step count.
  • J1 is a difference between the actual position and the objective position of the foot, and thus represents the position error of the foot.
  • J2 F represents force applied to the foot of the robot when the foot of the robot contacts the ground.
  • the first term in J2 represents force applied to the foot of the robot when the foot of the robot contacts the ground, and the second term represents a difference of forces applied to the feet of the robot at respective steps. No difference of forces means that walking of the robot is periodically achieved, and thus J2 is a performance index indicating a force error applied to the foot of the robot when the foot of the robot contacts the ground and a periodicity error of walking of the robot.
  • this embodiment illustrates the objective function as consisting of five performance indices
  • the configuration of the objective function is not limited thereto.
  • the performance indices are not limited to the above-described contents and may include other limitations relating to walking of the robot.
  • the control unit 410 obtains a resultant motion of the robot through calculation of forward dynamics using the torque input values, and calculates the value of the objective function using data of the resultant motion and actual walking of the robot. If the calculated value of the objective function does not satisfy the convergence condition, the control unit 410 adjusts optimization variables several times so that the value of the objective function satisfies the convergence condition.
  • FIG. 7 is a flow chart illustrating a walking control method of a robot in accordance with an embodiment.
  • control unit 410 sets control gains and plural variables to determine routes of target joints to be controlled during walking of the robot as optimization variables (operation 600).
  • the control unit 410 may set the minimum number of control variables to determine the target joint routes using periodicity in walking and symmetry in leg swing.
  • control unit 410 calculates torque input values by parameterizing Expression to calculate the torque input values using the set optimization variables (operation 610 and operation 620).
  • Expression 1 below is used as the expression to calculate the torque input values.
  • ⁇ i k i p ⁇ q i d - q i - k i d ⁇ q ⁇ i
  • control unit 410 obtains a resultant motion of the robot through calculation of forward dynamics using the calculated torque input values (operation 630).
  • control unit 410 sets an objective function consisting of the sum total of various performance indices to allow the robot to perform natural walking similar to a human with high energy efficiency, and then calculates the value of the objective function using data of the resultant motion and actual walking of the robot (operation 640).
  • control unit 410 judges whether or not the value of the objective function satisfies the convergence condition (operation 650).
  • the convergence condition is satisfied if a difference between the value of the objective function and a value of the objective function calculated in the previous process is less than a designated value.
  • control unit 410 adjusts the optimization variables and repeats the above-described process until the value of the objective function satisfies the convergence condition (operation 660).
  • the optimization variables are adjusted to so that the value of the objective function satisfies a predetermined condition.
  • the optimization variables may be controlled to minimize the value of the objective function, and thereby satisfy a predetermined condition.
  • optimization variables may be controlled to minimize the value of the objective function to thereby satisfy a convergence condition.
  • embodiments are not limited to minimizing the value of the objective function. Instead, in some embodiments, the optimization variable can be adjusted so that the value of the object function simply achieves a predetermined condition which is not a minimization of the value of the objective function.
  • a robot is controlled in accordance with the adjusted variables.
  • a robot and a control method thereof in accordance with an embodiment automatize optimization of actuated dynamic walking and thus allow the robot to perform natural walking similar to a human with high energy efficiency.
  • the embodiments can be implemented in computing hardware and/or software, such as (in a non-limiting example) any computer that can store, retrieve, process and/or output data and/or communicate with other computers.
  • calculations and operations described herein may be performed by a computer.
  • control unit 410, or various of the other units, in FIG. 4 may include a computer, or a computer processor, for performing calculations and/or operations.
  • a program/software implementing the embodiments and executed by computer may be recorded on non-transitory computer-readable media comprising computer-readable recording media. Examples of the computer-readable recording media include a magnetic recording apparatus, an optical disk, a magneto-optical disk, and/or a semiconductor memory (for example, RAM, ROM, etc.).
  • Examples of the magnetic recording apparatus include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape (MT).
  • Examples of the optical disk include a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc - Read Only Memory), and a CD-R (Recordable)/RW.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Manipulator (AREA)

Abstract

A robot, which performs natural walking similar to a human with high energy efficiency through optimization of actuated dynamic walking, and a control method thereof. The robot includes an input unit to which a walking command of the robot is input, and a control unit to control walking of the robot by calculating torque input values through control variables, obtaining a resultant motion of the robot through calculation of forward dynamics using the torque input values, and minimizing a value of an objective function set to consist of the sum total of a plurality of performance indices through adjustment of the control variables.

Description

    BACKGROUND 1. Field
  • Embodiments relate to a robot, which walks based on actuated dynamic walking, and a control method thereof.
  • 2. Description of the Related Art
  • Recently, research and development of walking robots which have a similar joint system to that of humans and are designed to coexist with humans in human working and living spaces has made rapid advance. Such walking robots include multi-leg walking robots having a plurality of legs, such as bipedal or tripedal walking robots, and in order to achieve stable walking of the robots, actuators, such as electric actuators and hydraulic actuators, located at respective joints, need to be driven. Driving of actuators is generally divided into a position-based Zero Moment Point (ZMP) control method in which command angles, i.e., command positions, of respective joints are given and the joints are controlled so as to trace the command angles, and a torque-based Finite State Machine (FSM) control method in which command torques of respective joints are given and the joints are controlled so as to trace the command torques.
  • In the ZMP control method, a walking direction, a walking stride, and a walking velocity of a robot are set in advance so as to satisfy a ZMP constraint, i.e., a condition that a ZMP is present in a safety region within a support polygon formed by (a) supporting leg(s) (if the robot is supported by one leg, this means the region of the leg, and if the robot is supported by two legs, this means a region set to have a small area within a convex polygon including the regions of the two legs in consideration of safety), walking patterns of the respective legs corresponding to the set factors are created, and walking trajectories of the respective legs are calculated based on the walking patterns. Further, angles of joints of the respective legs are calculated through inverse kinematic calculation of the calculated walking trajectories, and target control values of the respective joints are calculated based on current angles and target angles of the respective joints. Further, servo control in which the respective legs trace the calculated walking trajectories per control time is achieved. That is, during walking, whether or not positions of the respective legs precisely trace the walking trajectories according to the walking patterns is detected, and if some legs deviate from the walking trajectories, torques of actuators are adjusted so that the respective legs precisely trace the walking trajectories. The ZMP control method is a position-based control method and thus achieves precise position control, but performs precise angle control of the respective joints in order to control the ZMP and thus requires a high servo gain. Thereby, the ZMP control method requires high current and thus has low energy efficiency and high stiffness of the joints.
  • On the other hand, in the FSM control method, instead of tracing positions per control time, a finite number of operating states of a robot is defined in advance, target torques of respective joints are calculated with reference to the respective operating states during walking, and the joints are controlled so as to trace the target torques. Such an FSM control method controls torques of the respective joints during walking and thus enables a low servo gain, thereby achieving high energy efficiency and low stiffness. Further, the FSM control method does not need to avoid kinematic singularities, thereby allowing the robot to have a more natural gait with knees extended straight similar to that of a human.
  • Actuated dynamic walking employs torque-based control instead of position-based control, thereby having high energy efficiency and allowing a robot to have a more natural gait similar to that of a human. However, actuated dynamic walking cannot achieve precise position control and thus causes a difficulty in precisely controlling a stride or a walking velocity. Further, in actuated dynamic walking, a walking pattern is planed directly on a joint space differently from position-based control, thus causing a difficulty in forming a walking pattern having desired stride, walking velocity, and walking direction.
  • SUMMARY
  • Therefore, it is an aspect of an embodiment to provide a robot, which performs natural walking similar to a human with high energy efficiency through optimization of actuated dynamic walking, and a control method thereof.
  • Additional aspects of embodiments will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the embodiments.
  • In accordance with an aspect of an embodiment, a walking control method of a robot includes setting a plurality of variables to determine target joint routes and control gains as control variables, calculating torque input values based on the control variables, obtaining a resultant motion through calculation of forward dynamics using the torque input values, setting an objective function consisting of the sum total of a plurality of performance indices, and minimizing a value of the objective function through adjustment of the control variables.
  • The plurality of variables to determine the target joint routes may include a variable indicating left and right movement of hip joints of the robot, a variable indicating an inclination of a torso of the robot, a variable indicating a length of a stride of the robot, a variable indicating a bending angle of knees of the robot, a variable indicating a walking velocity of the robot, a variable indicating movement of ankles of the robot in the y-axis direction, a variable indicating an initial state of the left and right movement of the hip joints of the robot, and a variable indicating an initial state of the stride of the robot.
  • The control gains may include a position gain and a damping gain.
  • The target joint routes may be determined by setting a plurality of poses, selected from among poses assumed by the robot during walking of the robot in a half cycle, as reference poses and carrying out interpolation of angles of respective joints of the robot in the plurality of reference poses.
  • The walking of the robot in the half cycle may mean that the robot makes one step with its one foot.
  • The target joint routes may be overall routes of the respective joints obtained through symmetry in swing of left and right feet of the robot and periodicity in walking of the robot based on target joint routes of the respective joints determined during walking of the robot in the half cycle.
  • The reference poses may include a pose when the walking of the robot in the half cycle is started, a pose when the walking of the robot in the half cycle is completed, and a pose halfway between the point of time when the walking of the robot in the half cycle is started and the point of time when the walking of the robot in the half cycle is completed.
  • The joints may include a torso joint, hip joints, knee joints, and ankle joints.
  • In the setting of the objective function, the objective function may consist of the sum total of a performance index indicating a position error of a foot of the robot contacting the ground, a performance index indicating a force error transmitted to the foot of the robot at the point of time when the foot of the robot contacts the ground and a periodicity error of walking of the robot, a performance index indicating a walking velocity error of the robot, a performance index to minimize torques required during walking of the robot, and a performance index to minimize a walking style error generated when a current walking style is compared with a predetermined walking style.
  • In accordance with another aspect of an embodiment, a robot includes an input unit to which a walking command of the robot is input, and a control unit to control walking of the robot by calculating torque input values through control variables, obtaining a resultant motion of the robot through calculation of forward dynamics using the torque input values, and minimizing a value of an objective function set to consist of the sum total of a plurality of performance indices through adjustment of the control variables.
  • The control variables may include a plurality of variables to determine target joint routes of the robot and control gains.
  • The plurality of variables to determine the target joint routes may include a variable indicating left and right movement of hip joints of the robot, a variable indicating an inclination of a torso of the robot, a variable indicating a length of a stride of the robot, a variable indicating a bending angle of knees of the robot, a variable indicating a walking velocity of the robot, a variable indicating movement of ankles of the robot in the y-axis direction, a variable indicating an initial state of the left and right movement of the hip joints of the robot, and a variable indicating an initial state of the stride of the robot.
  • The control gains may include a position gain and a damping gain.
  • The target joint routes may be determined by setting a plurality of poses, selected from among poses assumed by the robot during walking of the robot in a half cycle, as reference poses and carrying out interpolation of angles of respective joints of the robot in the plurality of reference poses.
  • The walking of the robot in the half cycle may mean that the robot makes one step with its one foot.
  • The target joint routes may be overall routes of the respective joints obtained through symmetry in swing of left and right feet of the robot and periodicity in walking of the robot based on target joint routes of the respective joints determined during walking of the robot in the half cycle.
  • The reference poses may include a pose when the walking of the robot in the half cycle is started, a pose when the walking of the robot in the half cycle is completed, and a pose halfway between the point of time when the walking of the robot in the half cycle is started and the point of time when the walking of the robot in the half cycle is completed.
  • The joints may include a torso joint, hip joints, knee joints, and ankle joints.
  • The objective function may consist of the sum total of a performance index indicating a position error of a foot of the robot contacting the ground, a performance index indicating a force error transmitted to the foot of the robot at the point of time when the foot of the robot contacts the ground and a periodicity error of walking of the robot, a performance index indicating a walking velocity error of the robot, a performance index to minimize torques required during walking of the robot, and a performance index to minimize a walking style error generated when a current walking style is compared with a predetermined walking style.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • These and/or other aspects of embodiments will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
    • FIG. 1 is a view illustrating an external appearance of a robot in accordance with an embodiment;
    • FIG. 2 is a view illustrating structures of main joints of the robot of FIG. 1;
    • FIG. 3 is a view illustrating operating states of the robot and control actions of the respective operating states, while the robot in accordance with an embodiment walks based on an FSM;
    • FIG. 4 is a walking control block diagram of the robot in accordance with an embodiment;
    • FIG. 5A is a conceptual view illustrating movement of joints of the robot in accordance with an embodiment in the y-axis direction;
    • FIG. 5B is a conceptual view illustrating movement of the joints of the robot in accordance with an embodiment in the x-axis direction;
    • FIG. 6 is a graph illustrating routes of hip joints of the robot in accordance with an embodiment; and
    • FIG. 7 is a flow chart illustrating a walking control method of a robot in accordance with an embodiment.
    DETAILED DESCRIPTION
  • Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.
  • Hereinafter, among multi-leg walking robots, a bipedal walking robot will be exemplarily described.
  • FIG. 1 is a view illustrating an external appearance of a robot in accordance with an embodiment.
  • As shown in FIG. 1, a robot 100 in accordance with an embodiment is a bipedal walking robot, which walks upright using two legs 110 in the same manner as a human, and includes an upper body 101 including a torso 102, a head 104, and arms 106, and a lower body 103 including the two legs 110.
  • The upper body 101 of the robot 100 includes the torso 102, the head 104 connected to the upper portion of the torso 102 through a neck 120, the two arms 106L and 106R connected to both sides of the upper portion of the torso 102 through shoulders 114L and 114R, and hands 108L and 108R respectively connected to tips of the two arms 106L and 106R.
  • The lower body 103 of the robot 100 includes the two legs 110L and 110R connected to both sides of the lower portion of the torso 102 of the upper body 101, and feet 112L and 112R respectively connected to tips of the two legs 110L and 110R.
  • Here, "R" and "L" respectively indicate the right and left sides of the robot 100, and COG indicates the center of gravity of the robot 100.
  • FIG. 2 is a view illustrating structures of main joints of the robot of FIG. 1.
  • As shown in FIG. 2, a pose sensor 14 is installed on the torso 102 of the robot 100. The pose sensor 14 detects a tilt angle of the upper body 101, i.e., an inclination of the upper body 101 with respect to a vertical axis, and an angular velocity thereof, and then generates pose data. The pose sensor 14 may be installed on the head 104 as well as the torso 102.
  • A waist joint unit 15 having 1 degree of freedom in the yaw direction so as to rotate the upper body 101 is installed on the torso 102.
  • Further, cameras 41 to capture surrounding images and microphones 42 to input user's voice are installed on the head 104 of the robot 100.
  • The head 104 is connected to the torso 102 of the upper body 101 through a neck joint unit 280. The neck joint unit 280 includes a rotary joint 281 in the yaw direction (rotated around the Z-axis), a rotary joint 282 in the pitch direction (rotated around the Y-axis), and a rotary joint 283 in the roll direction (rotated around the X-axis), and thus has 3 degrees of freedom.
  • Motors (for example, actuators, such as electric motors or hydraulic motors) to rotate the head 104 are connected to the respective rotary joints 281, 282, and 283 of the neck joint unit 280.
  • The two arms 106L and 106R of the robot 100 respectively include upper arm links 31, lower arm links 32, and the hands 108L and 108R.
  • The upper arm links 31 are connected to the upper body 101 through shoulder joint units 250L and 250R, the upper arm links 31 and the lower arm links 32 are connected to each other through elbow joint units 260, and the lower arm links 32 and the hands 108L and 108R are connected to each other by wrist joint units 270.
  • The shoulder joint units 250L and 250R are installed at both sides of the torso 102 of the upper body 101, and connect the two arms 106L and 106R to the torso 102 of the upper body 101.
  • Each elbow joint unit 260 has a rotary joint 261 in the pitch direction and a rotary joint 262 in the yaw direction, and thus has 2 degrees of freedom.
  • Each wrist joint unit 270 has a rotary joint 271 in the pitch direction and a rotary joint 272 in the roll direction, and thus has 2 degrees of freedom.
  • Each hand 108L or 108R is provided with five fingers 33a. A plurality of joints (not shown) driven by motors may be installed on the respective fingers 33a. The fingers 33a perform various motions, such as gripping of an article or pointing in a specific direction, in connection with movement of the arms 106.
  • The two legs 110L and 110R of the robot 100 respectively include thigh links 21, calf links 22, and the feet 112L and 112R.
  • The thigh links 21 correspond to thighs of a human and are connected to the torso 102 of the upper body 101 through hip joint units 210, the thigh links 21 and the calf links 22 are connected to each other by knee joint units 220, and the calf links 22 and the feet 112L and 112R are connected to each other by ankle joint units 230.
  • Each hip joint unit 210 has a rotary joint (hip yaw joint) 211 in the yaw direction (rotated around the Z-axis), a rotary joint (hip pitch joint) 212 in the pitch direction (rotated around the Y-axis), and a rotary joint (hip roll joint) 213 in the roll direction (rotated around the X-axis), and thus has 3 degrees of freedom.
  • Each knee joint unit 220 has a rotary joint 221 in the pitch direction, and thus has 1 degree of freedom.
  • Each ankle joint unit 230 has a rotary joint 231 in the pitch direction and a rotary joint 232 in the roll direction, and thus has 2 degrees of freedom.
  • Since six rotary joints of the hip joint unit 210, the knee joint unit 220, and the ankle joint unit 230 are provided on each of the two legs 110L and 110R, a total of twelve rotary joints is provided to the two legs 110L and 110R.
  • Further, multi-axis force and torque (F/T) sensors 24 are respectively installed between the feet 112L and 112R and the ankle joint units 230 of the two legs 110L and 110R.
  • The multi-axis F/T sensors 24 measure three-directional components Fx, Fy, and Fz of force and three-directional components Mx, My, and Mz of moment transmitted from the feet 112L and 112R, thereby detecting whether or not the feet 112L and 112R touch the ground and load applied to the feet 112L and 112R.
  • Although not shown in the drawings, actuators, such as motors, to drive the respective rotary joints are installed on the robot 100. A control unit to control the overall operation of the robot 100 properly controls the motors, thereby allowing the robot 100 to perform various actions.
  • FIG. 3 is a view illustrating operating states of the robot and control actions of the respective operating states, while the robot in accordance with an embodiment walks based on an FSM.
  • With reference to FIG. 3, in the torque-based FSM control method, operation of the robot 100 is divided into a plurality of operating states (for example, 6 states - S1, S2, S3, S4, S5, and S6), which are defined in advance. The respective operating states S1, S2, S3, S4, S5, and S6 indicate poses of one leg 110L or 110R of the robot 100 during walking, and stable walking of the robot 100 is achieved by proper transition between such poses of the robot 100.
  • The first operating state (flight state) S1 corresponds to a pose of swinging the leg 110L or 110R, the second operating state (loading state) S2 corresponds to a pose of loading the foot 112 on the ground, the third operating state (heel contact state) S3 corresponds to a pose of bringing the heel of the foot 112 into contact with the ground, the fourth operating state (heel and toe contact state) S4 corresponds to a pose of bringing both the heel and the toe of the foot 112 into contact with the ground, the fifth operating state (toe contact state) S5 corresponds to a pose of bringing the toe of the foot 112 into contact with the ground, and the sixth operating state (unloading state) S6 corresponds to a pose of unloading the foot 112 from the ground.
  • In order to transition from one operating state to another operating state, a control action to achieve such transition is required.
  • In more detail, if the first operating state S1 transitions to the second operating state S2 (S1→S2), a control action in which the heel of the foot 112 touches the ground is required.
  • If the second operating state S2 transitions to the third operating state S3 (S2→S3), a control action in which the knee (particularly, the knee joint unit) of the foot 112 touching the ground bends is required.
  • If the third operating state S3 transitions to the fourth operating state S4 (S3→S4), a control action in which the toe of the foot 112 touches the ground is required.
  • If the fourth operating state S4 transitions to the fifth operating state S5 (S4→S5), a control action in which the knee of the foot 112 touching the ground extends is required.
  • If the fifth operating state S5 transitions to the sixth operating state S6 (S4→S5), a control action in which the knee of the foot 112 touching the ground fully extends is required.
  • If the sixth operating state S6 transitions to the first operating state S1 (S6→S1), a control action in which the toe of the foot 112 leaves the ground is required.
  • Therefore, in order to perform the control actions, the robot 100 calculates torque commands of the respective joints corresponding to the respective control actions, and outputs the calculated torque commands to the actuators, such as the motors, installed on the respective joints to drive the actuators.
  • In such a torque-based FSM control method, walking of the robot 100 is controlled depending on the operating states S1, S2, S3, S4, S5, and S6, defined in advance.
  • FIG. 4 is a walking control block diagram of the robot in accordance with an embodiment.
  • As shown in FIG. 4, the robot 100 includes an input unit 400 through which a user inputs a walking command, etc., a control unit 410 to perform overall control of the robot 100 according to the action command input through the input unit 400, and driving units 420 to drive respective joints of the robot 100 according to a control signal from the control unit 410.
  • The control unit 410 includes a command interpretation unit 412, a motion trajectory generation unit 414, a storage unit 416, and a motion command unit 418.
  • The command interpretation unit 412 interprets the action command input through the input unit 400, and recognizes robot parts which perform a main motion having high relevance to the commanded action and robot parts which perform remaining motions having low relevance to the commanded action, respectively.
  • The motion trajectory generation unit 414 generates optimized motion trajectories as to the robot parts performing the main motion among the robot parts recognized by the command interpretation unit 412 through optimization in consideration of robot dynamics, and generates predetermined motion trajectories as to the robot parts performing the remaining motions so as to correspond to the commanded action. Here, each motion trajectory is one of joint trajectories, link trajectories, and end-effecter (for example, finger tip or toe tip) trajectories.
  • The storage unit 416 divisionally stores the robot parts performing the main motion having high relevance to the commanded action and the robot parts performing the remaining motions having low relevance to the commanded action according to respective action commands, and stores predetermined motion trajectories so as to correspond to the commanded action according to the respective action commands.
  • The motion command unit 418 outputs a motion command, causing the robot parts performing the main motion to move along the optimized motion trajectories generated by the motion trajectory generation unit 141, to the corresponding driving units 420 and thus controls operation of the driving units 420, and outputs a motion command, causing the robot parts performing the remaining motions to move along the predetermined motion trajectories corresponding to the commanded action generated by the motion trajectory generation unit 141, to the corresponding driving units 420 and thus controls operation of the driving units 420.
  • Hereinafter, an optimization process of walking of a robot in accordance with an embodiment will be described in detail.
  • The control unit 410 sets control gains and a plurality of variables, which determine routes of target joints to be controlled during walking of the robot, as optimization variables.
  • When all of numerous control variables of the respective joints relating to walking are set as the optimization variable, complexity is increased and thus optimization time and a rate of convergence are lowered.
  • The minimum number of control variables to determine target joint routes may be set using periodicity in walking and symmetry in swing of legs. The control variables to determine the target joint routes in accordance with this embodiment include a variable (P1=q_hip_roll) indicating left and right movement of the hip joints of the robot, a variable (P2=q_torso) indicating an inclination of the torso of the robot, a variable (P3=q_hipsweep) indicating a length of a stride of the robot, a variable (P4=q_kneebend) indicating a bending angle of the knees of the robot, a variable (P5=tf) indicating a walking velocity of the robot, a variable (P6=q_ankle) indicating movement of the ankles of the robot in the y-axis direction, a variable (P7=q_hip_roll_ini) indicating an initial state of the left and right movement of the hip joints of the robot, and a variable (P8=q_hipsweep-ini) indicating an initial state of the stride of the robot. The variables P7 and P8 are control variables indicating an initial walking pose of the robot. The above-described control variables except for the variable P5 indicating the walking velocity are expressed in angles in the directions of corresponding degrees of freedom of corresponding joints. Although this embodiment describes eight variables to determine the target joint routes, the number of the variables is not limited thereto. Further, the contents of the variables are not limited thereto.
  • The control unit 410 calculates torque input values by parameterizing Expression to calculate the torque input values using the set optimization variables. τ i = k i p q i d - q i - k i d q i
    Figure imgb0001
  • Herein, τ represents a torque input value, and i means each of joints relating to walking, i.e., including a torso joint movable at an angle of θ1 (of FIG. 5A) in the y-axis direction, left and right hip joints movable at angles of θ2 and θ3 (of FIG. 5A) and θ8 and θ9 (of FIG. 5B) in the y-axis direction and the x-axis direction, left and right knee joints movable at angles of θ4 and θ5 (of FIG. 5A) in the y-axis direction, and left and right ankle joints movable at angles of θ6 and θ7 (of FIG. 5A) and θ10 and θ11 (of FIG. 5B) in the y-axis direction and the x-axis direction.
  • Further, kp represents a position gain, and kd represent a damping gain. qd represents a target joint route, q represents a current angle measured by an encoder, and represents an angular velocity.
  • The control unit 410 calculates the torque input values through Expression 1 using the control gains and the variables determining the target joint routes, which are set as optimization variables.
  • The control unit 410 selects plural poses from among continuous poses assumed by the robot during walking of the robot in a half cycle in which the robot makes one step with its one foot to determine the target joint routes, and sets the selected plural poses as reference poses. In this embodiment, the reference poses include a pose when the walking of the robot in the half cycle is started, a pose when the walking of the robot in the half cycle is completed, and a pose halfway between the point of time when the walking of the robot in the half cycle is started and the point of time when the walking of the robot in the half cycle is completed.
  • The control unit 410 calculates angles of the torso joint, the hip joints, the knee joints, and the ankle joints in the directions of the corresponding degrees of freedom in the respective reference poses, and determines routes of the respective target joints of the robot during walking of the robot in the half cycle through spline interpolation of the calculated angles.
  • FIG. 6 is a graph illustrating routes of the hip joints among the target joints of the robot in accordance with an embodiment. Angle variations of the hip joints in the y-axis direction in each of the respective reference poses are calculated, and routes of the hip joints of the robot during walking of the robot in the half cycle (indicated by a circle in FIG. 6) are generated through spline interpolation of the calculated angle variations. A solid line indicates the route of the right hip joint, and a dotted line indicates the route of the left hip joint. When the routes during walking of the robot in the half cycle are determined in such a manner, routes during walking of the robot in the remaining walking period may be determined using periodicity in walking and symmetry in leg swing, as shown in FIG. 6.
  • The control unit 410 sets an objective function J consisting of the sum total of various performance indices to allow the robot to perform natural walking similar to a human with high energy efficiency. J = w 1 J 1 + w 2 J 2 + w 3 J 3 + w 4 J 4 + w 5 J 5
    Figure imgb0002
    J 1 = i = 1 n x i - x i d 2 J 2 = i = 1 n F i 2 + i = 3 n - 3 F i - 2 - F i + 1 2 + F i - F i + 1 2 + F i - F i + 3 2 J 3 = v - v d 2 J 4 = t = 0 t f τ i t 2
    Figure imgb0003
    J 5 = P - P pred T W P - P pred
    Figure imgb0004
  • Expression 2 represents the objective function J consisting of the sum total of plural performance indices J1∼J5 relating to walking of the robot. Coefficients preceding the performance indices mean weights assigned to apply importance to the respective performance indices.
  • The control unit 410 checks whether or not a value of the objective function J satisfies a convergence condition (i.e., a predetermined condition). The convergence condition is satisfied if a difference between the current value of the objective function and a value of the objective function calculated in the previous process is less than a designated value. Here, the designated value may be predetermined by a user. The control unit 410 makes the value of the objective function to satisfy the convergence condition, thereby allowing the robot to perform natural walking similar to a human with high energy efficiency.
  • Expression 3 represents numerical formulas of the respective performance indices of the objective function.
  • J1 is a performance index indicating a position error of a foot of the robot contacting the ground, x represents an actual position of the foot contacting the ground, and xd represents an objective position of the foot contacting the ground. i represents the step count. J1 is a difference between the actual position and the objective position of the foot, and thus represents the position error of the foot.
  • In J2, F represents force applied to the foot of the robot when the foot of the robot contacts the ground. The first term in J2 represents force applied to the foot of the robot when the foot of the robot contacts the ground, and the second term represents a difference of forces applied to the feet of the robot at respective steps. No difference of forces means that walking of the robot is periodically achieved, and thus J2 is a performance index indicating a force error applied to the foot of the robot when the foot of the robot contacts the ground and a periodicity error of walking of the robot.
    • v in J3 represents an actual walking velocity of the robot, and vd represent an objective walking velocity of the robot. Therefore, J3 is a performance index indicating a walking velocity error of the robot.
    • τ in J4 represents a torque of each of the respective joints required for walking of the robot, and tf represents time to complete planed walking. Therefore, J4 is a performance index indicating torques required during walking of the robot.
    • P in J5 represents a vector consisting of a variable to determine an actual target joint route, and Ppred represents a vector consisting of a variable to determine an objective target joint route. T is a mark representing transposition of the vector, W represents a diagonal matrix in which the number of elements of the vector P is expressed in rows and columns, and respective diagonal elements serve as weights to the respective elements of the vector. Therefore, J5 is a performance index indicating a walking style error.
  • Although this embodiment illustrates the objective function as consisting of five performance indices, the configuration of the objective function is not limited thereto. Further, the performance indices are not limited to the above-described contents and may include other limitations relating to walking of the robot.
  • The control unit 410 obtains a resultant motion of the robot through calculation of forward dynamics using the torque input values, and calculates the value of the objective function using data of the resultant motion and actual walking of the robot. If the calculated value of the objective function does not satisfy the convergence condition, the control unit 410 adjusts optimization variables several times so that the value of the objective function satisfies the convergence condition.
  • FIG. 7 is a flow chart illustrating a walking control method of a robot in accordance with an embodiment.
  • As shown in FIG. 7, the control unit 410 sets control gains and plural variables to determine routes of target joints to be controlled during walking of the robot as optimization variables (operation 600). The control unit 410 may set the minimum number of control variables to determine the target joint routes using periodicity in walking and symmetry in leg swing.
  • Thereafter, the control unit 410 calculates torque input values by parameterizing Expression to calculate the torque input values using the set optimization variables (operation 610 and operation 620). Expression 1 below is used as the expression to calculate the torque input values. τ i = k i p q i d - q i - k i d q i
    Figure imgb0005
    Thereafter, the control unit 410 obtains a resultant motion of the robot through calculation of forward dynamics using the calculated torque input values (operation 630).
  • Thereafter, the control unit 410 sets an objective function consisting of the sum total of various performance indices to allow the robot to perform natural walking similar to a human with high energy efficiency, and then calculates the value of the objective function using data of the resultant motion and actual walking of the robot (operation 640). The objective function is given by Expression 2 below. J = w 1 J 1 + w 2 J 2 + w 3 J 3 + w 4 J 4 + w 5 J 5
    Figure imgb0006
  • Thereafter, the control unit 410 judges whether or not the value of the objective function satisfies the convergence condition (operation 650). The convergence condition is satisfied if a difference between the value of the objective function and a value of the objective function calculated in the previous process is less than a designated value.
  • Thereafter, when the value of the objective function does not satisfy the convergence condition, the control unit 410 adjusts the optimization variables and repeats the above-described process until the value of the objective function satisfies the convergence condition (operation 660).
  • According to various embodiments, the optimization variables are adjusted to so that the value of the objective function satisfies a predetermined condition. As an example, in an embodiment, the optimization variables may be controlled to minimize the value of the objective function, and thereby satisfy a predetermined condition. For example, according to an embodiment, optimization variables may be controlled to minimize the value of the objective function to thereby satisfy a convergence condition. However, embodiments are not limited to minimizing the value of the objective function. Instead, in some embodiments, the optimization variable can be adjusted so that the value of the object function simply achieves a predetermined condition which is not a minimization of the value of the objective function.
  • According to various embodiments, a robot is controlled in accordance with the adjusted variables.
  • As is apparent from the above description, a robot and a control method thereof in accordance with an embodiment automatize optimization of actuated dynamic walking and thus allow the robot to perform natural walking similar to a human with high energy efficiency.
  • The embodiments can be implemented in computing hardware and/or software, such as (in a non-limiting example) any computer that can store, retrieve, process and/or output data and/or communicate with other computers. For example, calculations and operations described herein may be performed by a computer. For example, control unit 410, or various of the other units, in FIG. 4, may include a computer, or a computer processor, for performing calculations and/or operations. A program/software implementing the embodiments and executed by computer may be recorded on non-transitory computer-readable media comprising computer-readable recording media. Examples of the computer-readable recording media include a magnetic recording apparatus, an optical disk, a magneto-optical disk, and/or a semiconductor memory (for example, RAM, ROM, etc.). Examples of the magnetic recording apparatus include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape (MT). Examples of the optical disk include a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc - Read Only Memory), and a CD-R (Recordable)/RW.
  • Although a few embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.

Claims (15)

  1. A walking control method of a robot comprising:
    setting a plurality of variables to determine target joint routes and control gains as control variables;
    calculating torque input values based on the control variables;
    obtaining a resultant motion through calculation of forward dynamics using the calculated torque input values;
    setting an objective function consisting of the sum total of a plurality of performance indices; and
    adjusting the control variables so that a value, calculated using the obtained resultant motion, of the objective function satisfies a predetermined condition..
  2. The walking control method according to claim 1,
    wherein the target joint routes are determined by setting a plurality of poses, selected from among poses assumed by the robot during walking of the robot in a half cycle, as reference poses and carrying out interpolation of angles of respective joints of the robot in the plurality of reference poses.
  3. The walking control method according to claim 2,
    wherein the target joint routes are overall routes of the respective joints obtained through symmetry in swing of left and right feet of the robot and periodicity in walking of the robot based on target joint routes of the respective joints determined during walking of the robot in the half cycle.
  4. The walking control method according to claim 2,
    wherein the reference poses include a pose when the walking of the robot in the half cycle is started, a pose when the walking of the robot in the half cycle is completed, and a pose halfway between the point of time when the walking of the robot in the half cycle is started and the point of time when the walking of the robot in the half cycle is completed.
  5. The walking control method according to claim 2,
    wherein the joints include a torso joint, hip joints, knee joints, and ankle joints.
  6. The walking control method according to claim 1, wherein, in the setting of the objective function, the objective function consists of the sum total of a performance index indicating a position error of a foot of the robot contacting the ground, a performance index indicating a force error transmitted to the foot of the robot at the point of time when the foot of the robot contacts the ground and a periodicity error of walking of the robot, a performance index indicating a walking velocity error of the robot, a performance index to minimize torques required during walking of the robot, and a performance index to minimize a walking style error generated when a current walking style is compared with a predetermined walking style.
  7. The walking control method according to claim 1,
    wherein said adjusting adjusts the control variables to minimize the value of the objective function, and thereby satisfy the predetermined condition.
  8. A robot comprising:
    an input unit to which a walking command of the robot is input; and
    a control unit to control walking of the robot in accordance with a walking command input to the input unit by calculating torque input values through control variables, obtaining a resultant motion of the robot through calculation of forward dynamics using the calculated torque input values, and adjusting the control values so that a value, calculated using the obtained resultant motion, of an objective function, set to consist of the sum total of a plurality of performance indices, satisfies a predetermined condition, .
  9. The robot according to claim 8, wherein the control variables include a plurality of variables to determine target joint routes of the robot and control gains.
  10. The robot according to claim 9, wherein the target joint routes are determined by setting a plurality of poses, selected from among poses assumed by the robot during walking of the robot in a half cycle, as reference poses and carrying out interpolation of angles of respective joints of the robot in the plurality of reference poses.
  11. The robot according to claim 10, wherein the target joint routes are overall routes of the respective joints obtained through symmetry in swing of left and right feet of the robot and periodicity in walking of the robot based on target joint routes of the respective joints determined during walking of the robot in the half cycle.
  12. The robot according to claim 10, wherein the reference poses include a pose when the walking of the robot in the half cycle is started, a pose when the walking of the robot in the half cycle is completed, and a pose halfway between the point of time when the walking of the robot in the half cycle is started and the point of time when the walking of the robot in the half cycle is completed.
  13. The robot according to claim 10, wherein the joints include a torso joint, hip joints, knee joints, and ankle joints.
  14. The robot according to claim 8, wherein the objective function consists of the sum total of a performance index indicating a position error of a foot of the robot contacting the ground, a performance index indicating a force error transmitted to the foot of the robot at the point of time when the foot of the robot contacts the ground and a periodicity error of walking of the robot, a performance index indicating a walking velocity error of the robot, a performance index to minimize torques required during walking of the robot, and a performance index to minimize a walking style error generated when a current walking style is compared with a predetermined walking style.
  15. The robot according to claim 8, wherein the control unit adjusts the control variables to minimize the value of the objective function, and thereby satisfy the predetermined condition.
EP11180042.1A 2010-09-09 2011-09-05 Robot and control method thereof Active EP2428335B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100088337A KR101760883B1 (en) 2010-09-09 2010-09-09 Robot and control method thereof

Publications (2)

Publication Number Publication Date
EP2428335A1 true EP2428335A1 (en) 2012-03-14
EP2428335B1 EP2428335B1 (en) 2014-11-05

Family

ID=44674436

Family Applications (1)

Application Number Title Priority Date Filing Date
EP11180042.1A Active EP2428335B1 (en) 2010-09-09 2011-09-05 Robot and control method thereof

Country Status (3)

Country Link
US (1) US8805583B2 (en)
EP (1) EP2428335B1 (en)
KR (1) KR101760883B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489092A (en) * 2020-10-26 2022-05-13 腾讯科技(深圳)有限公司 Method, device, equipment and medium for controlling motion of foot type robot

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5930753B2 (en) * 2012-02-13 2016-06-08 キヤノン株式会社 Robot apparatus control method and robot apparatus
JP5930754B2 (en) * 2012-02-13 2016-06-08 キヤノン株式会社 Robot apparatus control method and robot apparatus
US9044859B2 (en) * 2013-10-31 2015-06-02 Disney Enterprises, Inc. Method for gait generation and tracking control for a bipedal walking robot
JP6228097B2 (en) * 2014-10-06 2017-11-08 本田技研工業株式会社 Mobile robot
WO2020133288A1 (en) * 2018-12-28 2020-07-02 深圳市优必选科技有限公司 Method for controlling gait of biped robot, and biped robot
CN115042205A (en) * 2022-06-30 2022-09-13 深圳市优必选科技股份有限公司 Force and position hybrid control method and device, computer readable storage medium and robot

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355064A (en) * 1992-03-04 1994-10-11 Honda Giken Kogyo Kabushiki Kaisha Control system for legged mobile robot
EP1721711A1 (en) * 2004-02-06 2006-11-15 Honda Motor Co., Ltd Gait generator of mobile robot

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179525A (en) * 1990-05-01 1993-01-12 University Of Florida Method and apparatus for controlling geometrically simple parallel mechanisms with distinctive connections
EP2206583B1 (en) * 2003-06-27 2011-10-19 Honda Motor Co., Ltd. Control device of legged mobile robot
JP4587738B2 (en) * 2003-08-25 2010-11-24 ソニー株式会社 Robot apparatus and robot posture control method
JP4525477B2 (en) * 2005-02-23 2010-08-18 ソニー株式会社 Learning control device, learning control method, and program
US7313463B2 (en) * 2005-03-31 2007-12-25 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
US8082062B2 (en) * 2005-06-10 2011-12-20 Honda Motor Co., Ltd. Regenerative actuation in motion control
US7688016B2 (en) * 2005-09-28 2010-03-30 Canadian Space Agency Robust impedance-matching of manipulators interacting with unknown environments
US8924021B2 (en) * 2006-04-27 2014-12-30 Honda Motor Co., Ltd. Control of robots from human motion descriptors
KR100818059B1 (en) * 2006-10-09 2008-03-31 한국과학기술연구원 Method for controlling human arm motion reproduction of humanoid robot
US20110082566A1 (en) * 2008-09-04 2011-04-07 Herr Hugh M Implementing a stand-up sequence using a lower-extremity prosthesis or orthosis
JP5219956B2 (en) * 2009-07-23 2013-06-26 本田技研工業株式会社 Control device for moving body
JP5284923B2 (en) * 2009-10-28 2013-09-11 本田技研工業株式会社 Control device for legged mobile robot

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355064A (en) * 1992-03-04 1994-10-11 Honda Giken Kogyo Kabushiki Kaisha Control system for legged mobile robot
EP1721711A1 (en) * 2004-02-06 2006-11-15 Honda Motor Co., Ltd Gait generator of mobile robot

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489092A (en) * 2020-10-26 2022-05-13 腾讯科技(深圳)有限公司 Method, device, equipment and medium for controlling motion of foot type robot
CN114489092B (en) * 2020-10-26 2023-07-18 腾讯科技(深圳)有限公司 Foot robot motion control method, device, equipment and medium

Also Published As

Publication number Publication date
EP2428335B1 (en) 2014-11-05
KR101760883B1 (en) 2017-08-04
US20120065778A1 (en) 2012-03-15
US8805583B2 (en) 2014-08-12
KR20120026233A (en) 2012-03-19

Similar Documents

Publication Publication Date Title
US9073209B2 (en) Walking robot and control method thereof
US8958909B2 (en) Walking robot and control method thereof
US8676381B2 (en) Humanoid robot and walking control method thereof
US8682488B2 (en) Humanoid robot and walking control method thereof
US8868240B2 (en) Walking robot and pose control method thereof
EP2347867B1 (en) Walking control apparatus of robot and method of controlling the same
EP2426037B1 (en) Walking robot and control method thereof
US9334002B2 (en) Balance control apparatus of robot and control method thereof
US9043029B2 (en) Walking robot and method for controlling posture thereof
US8868239B2 (en) Walking control apparatus of robot and method of controlling the same
EP2428335B1 (en) Robot and control method thereof
US20120158182A1 (en) Walking control apparatus and method of robot
US20120158183A1 (en) Walking robot and control method thereof
US20130144439A1 (en) Walking robot and control method thereof
US20120316682A1 (en) Balance control apparatus of robot and control method thereof
US20130116820A1 (en) Walking robot and control method thereof
US8781628B2 (en) Walking robot and control method thereof
KR20130068694A (en) Walking robot and method for controlling the same
KR101687630B1 (en) Walking robot and method for controlling balancing the same
KR20100086355A (en) Robot walking control apparatus and method thereof

Legal Events

Date Code Title Description
AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SAMSUNG ELECTRONICS CO., LTD.

17P Request for examination filed

Effective date: 20120912

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIC1 Information provided on ipc code assigned before grant

Ipc: B62D 57/032 20060101ALI20140410BHEP

Ipc: B25J 9/16 20060101AFI20140410BHEP

INTG Intention to grant announced

Effective date: 20140513

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 694345

Country of ref document: AT

Kind code of ref document: T

Effective date: 20141115

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602011011054

Country of ref document: DE

Effective date: 20141218

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 694345

Country of ref document: AT

Kind code of ref document: T

Effective date: 20141105

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20141105

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20150305

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20150305

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20150205

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20150206

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602011011054

Country of ref document: DE

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20150806

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20150905

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20150905

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20150930

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20150930

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 6

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20110905

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 7

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 8

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141105

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230530

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20230821

Year of fee payment: 13

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20230821

Year of fee payment: 13

Ref country code: DE

Payment date: 20230822

Year of fee payment: 13