KR20180004397A - Walking robot and method for controlling balancing the same - Google Patents

Walking robot and method for controlling balancing the same Download PDF

Info

Publication number
KR20180004397A
KR20180004397A KR1020170181896A KR20170181896A KR20180004397A KR 20180004397 A KR20180004397 A KR 20180004397A KR 1020170181896 A KR1020170181896 A KR 1020170181896A KR 20170181896 A KR20170181896 A KR 20170181896A KR 20180004397 A KR20180004397 A KR 20180004397A
Authority
KR
South Korea
Prior art keywords
gravity
robot
center
calculated
torque
Prior art date
Application number
KR1020170181896A
Other languages
Korean (ko)
Inventor
서기홍
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170181896A priority Critical patent/KR20180004397A/en
Publication of KR20180004397A publication Critical patent/KR20180004397A/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0009Constructional details, e.g. manipulator supports, bases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/104Programme-controlled manipulators characterised by positioning means for manipulator elements with cables, chains or ribbons
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • 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/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

The present invention proposes a walking robot and a posture control method thereof for controlling a stable posture of the walking robot of which each joint operates using a torque servo. Using the center of gravity of the robot and the inclination and direction of an upper body and a pelvis, the present invention is able to stably maintain the upright posture and a desired angle of the upper body regardless of an external change including any force applied from the outside, an inclination degree of the ground, and the like. Further, even when information about the inclination direction and the inclination degree of the ground is not given to the robot, the present invention is able to maintain the upright posture with respect to the direction of gravity, and even when a standing surface is tilted slowly, an angle of an ankle joint is changed accordingly, such that the upper body and legs can maintain the constant posture.

Description

보행 로봇 및 그 자세 제어 방법{WALKING ROBOT AND METHOD FOR CONTROLLING BALANCING THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a walking robot,

토크 서보로 각 관절이 동작하는 보행 로봇의 안정적인 자세 제어를 위한 보행 로봇 및 그 자세 제어 방법에 관한 것이다.The present invention relates to a walking robot for stable posture control of a walking robot in which each joint is operated by a torque servo, and a posture control method thereof.

인간과 유사한 관절 체계를 가지고 인간의 작업 및 생활 공간에서 인간과 공존하며 보행하는 로봇의 연구 개발이 활발하게 진행되고 있다. 보행 로봇은 이족 또는 3족 이상의 복수의 다리를 가지는 다족 보행 로봇으로 구성되며, 안정적인 보행을 위해 각 관절에 위치한 전기 모터, 유압 모터 등의 액츄에이터를 구동해야 한다. 액츄에이터의 구동 방식은 각 관절의 지령(command) 각도, 즉 지령(command) 위치를 주고 그것을 추종 제어하는 위치 기반의 ZMP(Zero Moment Point) 제어 방식과, 각 관절의 지령(command) 토크를 주고 그것을 추종 제어하는 토크 기반의 FSM(Finite State Machine) 제어 방식을 들 수 있다.Research and development of robots that coexist with human beings in a human work and living space with a human-like joint system and are walking are actively proceeding. The walking robot is composed of a multi-legged walking robot having two or more legs or three or more legs, and actuators such as an electric motor and a hydraulic motor located at each joint must be driven for stable walking. The driving method of the actuator is based on a position-based ZMP (zero moment point) control method in which a command angle of each joint, that is, a command position is given and controlled, and a command torque of each joint is given And a torque-based finite state machine (FSM) control method for controlling tracking.

ZMP 제어 방식은 ZMP 구속 조건, 즉 ZMP가 지지하는 다리로 이루어진 지지다각형 내의 안전 영역(한발로 지지하고 있을 경우에는 그 발의 영역, 양발로 지지하고 있을 경우에는 양발의 영역을 포함하는 convex polygon 내에서 안전을 고려하여 작게 설정한 영역을 의미한다)에 존재해야 한다는 조건을 만족하도록 보행 방향, 보행 폭, 보행 속도 등을 미리 설정하고, 이 설정에 대응하는 각 다리의 보행 패턴을 생성하며, 그 보행 패턴에 따라 각 다리의 보행 궤적을 계산한다. 또한 계산된 보행 궤적의 역기구학(Inverse Kinematics) 계산을 통해 각 다리의 관절의 각도를 계산하고, 각 관절의 현재 각도와 목표 각도에 기초하여 각 관절의 목표 제어 값을 계산한다. 또한 매 제어시간마다 각각의 다리가 계산된 보행 궤적을 추종하도록 하는 서보 제어(servo control)를 통해 구현된다. 즉, 보행 시 각 다리의 위치가 보행 패턴에 따른 보행 궤적을 정확히 추종하는지 검출하고, 각 다리가 보행 궤적을 이탈하면 모터의 토크를 조절하여 각 다리가 보행 궤적을 정확히 추종하도록 제어하여 보행하는 방식이다.The ZMP control method is based on a ZMP constraint, that is, a safety zone in a supporting polygon composed of bridges supported by the ZMP (within the convex polygon including the area of the foot when supporting with one foot, The walking width, the walking speed, and the like are preliminarily set so as to satisfy the condition that the vehicle should be present in a predetermined area in consideration of safety, and a walking pattern of each leg corresponding to this setting is generated, The walking trajectory of each leg is calculated according to the pattern. In addition, the angle of each joint is computed by inverse kinematics calculation of the calculated gait trajectory, and the target control value of each joint is calculated based on the current angle and the target angle of each joint. And is implemented through servo control that allows each leg to follow the calculated gait trajectory at every control time. That is, it is possible to detect whether the position of each leg exactly follows the walking trace according to the walking pattern, and control the torque of the motor when each leg departs from the walking trajectory, to be.

그러나, ZMP 제어 방식은 위치 기반의 제어 방법이기 때문에 정확한 위치 제어가 가능한 반면, ZMP를 제어하기 위해 각 관절의 정확한 각도 제어를 수행해야 하므로 높은 서보 게인을 필요로 한다. 이로 인해 높은 전류를 필요로 하기 때문에 에너지 효율이 낮고 관절의 강성이 커서 주위 환경에 큰 충격을 줄 수 있다. 또한 각 관절의 각도를 계산하기 위해선 기구학적 특이점(Kinematic Singularity)을 피해야 하므로 보행 중 무릎을 항상 굽힌 자세를 유지하게 되어 인간과 다른 부자연스러운 보행을 하게 된다.However, since the ZMP control method is a position-based control method, precise position control can be performed, whereas accurate angle control of each joint is required to control the ZMP, so a high servo gain is required. Because of this, high current is required, which results in low energy efficiency and high rigidity of the joints, which can greatly affect the environment. In order to calculate the angle of each joint, the kinematic singularity should be avoided, so that the knee is always bent while walking, resulting in unnatural walking.

외력의 작용이나 지면의 경사 변화에도 직립 자세와 밸런싱 유지가 가능한 상체 각도를 안정적으로 유지하는 보행 로봇 및 그 자세 제어 방법을 제안하고자 한다.We propose a walking robot and its attitude control method which stably maintain the upper body angle which is able to maintain upright posture and balancing even with the action of external force or the change of slope of the ground.

이를 위해 본 발명의 일 측면은 상체와, 상체의 하측에 연결된 펠비스 링크와, 펠비스 링크의 하측에 연결된 복수의 힙 관절부와, 복수의 힙 관절부에 각각 연결된 복수의 다리와, 복수의 다리에 각각 마련된 발을 구비한 보행 로봇의 자세 제어 방법에 있어서, 로봇의 현재 무게중심의 위치를 계산하고; 로봇의 목표 무게중심의 위치를 설정하고; 설정된 목표 무게중심의 위치와 계산된 현재 무게중심의 위치 간의 에러를 계산하고; 계산된 무게중심 에러를 이용하여 로봇의 균형을 잡기 위해 보상해야 하는 힘을 계산하고; 계산된 보상 힘을 상기 복수의 다리에 분배하고; 분배된 보상 힘에 따라 각 다리의 관절 토크를 계산하고; 계산된 관절 토크를 이용하여 토크 서보 제어를 수행하되, 로봇의 균형을 잡기 위해 보상해야 하는 힘은, 계산된 현재 무게중심의 위치와 설정된 목표 무게중심의 위치 사이에 가상의 스프링이 존재할 때 가상의 스프링의 상수와 계산된 무게중심 에러의 곱으로 나타낸다.To this end, one aspect of the present invention provides a hip joint comprising: an upper body; a pelvis link connected to the lower side of the upper body; a plurality of hip joints connected to the lower side of the pelvis link; a plurality of legs respectively connected to the plurality of hip joints; A method of controlling a posture of a walking robot, the method comprising: calculating a position of a current center of gravity of the robot; Setting a position of the target center of gravity of the robot; Calculate an error between the position of the set target center of gravity and the calculated position of the center of gravity; Calculating a force to be compensated for balancing the robot using the calculated center-of-gravity error; Distributing the calculated compensating force to the plurality of legs; Calculating a joint torque of each leg according to the distributed compensation force; The torque servo control is performed using the calculated joint torque. The force that must be compensated for balancing the robot is calculated as follows. When there is a virtual spring between the calculated position of the current center of gravity and the center of the set target center of gravity, It is expressed as the product of the spring constant and the calculated center-of-gravity error.

또한 목표 무게중심의 위치는, 지면과 접촉된 복수의 발 사이의 중점에서 지면과 수직인 위치로 설정한다.Further, the position of the center of gravity of the target is set at a position perpendicular to the ground at a midpoint between a plurality of feet brought into contact with the ground.

또한 목표 무게중심의 위치는, 지면과 접촉된 복수의 발 내의 임의의 점에서 지면과 수직인 위치로 설정한다.Further, the position of the target center of gravity is set at a position perpendicular to the ground at any point in a plurality of feet contacting the ground.

또한 계산된 보상 힘을 복수의 다리에 분배하는 것은, 로봇의 무게중심이 지면에 투영된 점과 복수의 발 간의 거리 비율을 계산하고; 계산된 거리 비율을 이용하여 로봇의 무게중심이 지면에 투영된 점으로부터 가까운 다리가 더 큰 값을 갖는다.And distributing the calculated compensating force to the plurality of legs is calculated by calculating a ratio of a distance between a point where the center of gravity of the robot is projected on the ground and a plurality of feet; Using the calculated distance ratio, the bridge near the point where the center of gravity of the robot is projected on the ground has a larger value.

또한 펠비스 링크의 실제 회전 각도를 측정하고; 측정된 실제 회전 각도와 목표 회전 각도와의 에러를 계산하고; 계산된 회전 각도 에러를 이용하여 로봇의 균형을 잡기 위해 보상해야 하는 모멘트를 계산하는 것을 더 포함하고, 관절 토크를 계산하는 것은, 계산된 보상 모멘트와 계산된 보상 힘을 발생시키기 위한 관절 토크를 계산한다.Measuring the actual rotation angle of the flywheel link; Calculating an error between the measured actual rotation angle and the target rotation angle; And calculating a moment to be compensated for balancing the robot using the calculated rotational angle error, wherein calculating the joint torque calculates a joint torque to produce the calculated compensation moment and the calculated compensating force do.

또한 펠비스 링크의 실제 회전 각도를 측정하는 것은, IMU를 이용하여 몸통의 기울어짐에 대한 요우 방향(Z축 주위의 회전), 피치 방향(Y축 주위의 회전), 롤 방향(X축 주위의 회전)의 회전 각도를 측정한다.The actual rotational angle of the flywheel link can be measured by measuring the yaw direction (rotation around the Z axis), the pitch direction (rotation about the Y axis), the roll direction (about the X axis) Rotation) is measured.

또한 각 다리에 대한 중력 보상 토크를 계산하는 것을 더 포함하고, 관절 토크를 계산하는 것은, 중력 보상 토크를 이용하여 계산된 각 다리의 관절 토크를 보상한다.The method further includes calculating a gravity compensation torque for each leg, wherein calculating the joint torque compensates for the joint torque of each leg calculated using the gravity compensation torque.

또한 중력 보상 토크는 모든 족부 관절의 각도 q와 각 다리에 속한 모든 링크의 질량 및 무게중심의 위치와 상체의 총질량 및 무게중심 위치로부터 계산한다.Also, the gravity compensation torque is calculated from the angle q of all foot joints, the position of the mass and center of gravity of all links belonging to each leg, and the total mass and center of gravity of the upper body.

또한 각 다리에 대한 중력 보상 토크를 계산하는 것은, 복수의 다리에 분배된 힘에 따라 상체의 무게를 고려하여 중력 보상을 실시한다.In order to calculate the gravity compensation torque for each leg, gravity compensation is performed in consideration of the weight of the upper body according to the force distributed to the plurality of legs.

또한 각 다리에 대한 중력 보상 토크를 계산하는 것은, 복수의 다리 상태에 따라 반대쪽 다리의 무게를 고려하여 중력 보상을 실시한다.In order to calculate the gravity compensation torque for each leg, gravity compensation is performed in consideration of the weight of the opposite leg according to a plurality of leg conditions.

또한 복수의 다리 상태는 복수의 다리에 각각 마련된 발의 지면 접촉 여부에 따라 상체를 지지하는 상태 또는 스윙하는 상태로 분리한다.The plurality of legs are separated into a state of supporting the upper body or a state of swinging according to whether or not the feet provided on the respective legs are in contact with the ground.

또한 각 다리에 대한 댐핑 토크를 계산하는 것을 더 포함하고, 관절 토크를 계산하는 것은, 댐핑 토크를 이용하여 계산된 각 다리의 관절 토크를 보상한다.The method further includes calculating damping torque for each leg, and calculating the joint torque compensates for the joint torque of each leg calculated using the damping torque.

본 발명의 일 측면은 상체와, 상체의 하측에 연결된 펠비스 링크와, 펠비스 링크의 하측에 연결된 복수의 힙 관절부와, 복수의 힙 관절부에 각각 연결된 복수의 다리와, 복수의 다리에 각각 마련된 발을 구비한 보행 로봇에 있어서, 로봇의 현재 무게중심의 위치를 계산하는 계산부; 로봇의 목표 무게중심의 위치를 설정하는 설정부; 설정된 목표 무게중심의 위치와 계산된 현재 무게중심의 위치 간의 에러를 계산하고, 계산된 무게중심 에러를 이용하여 로봇의 균형을 잡기 위해 보상해야 하는 힘을 계산하고, 계산된 보상 힘을 복수의 다리에 분배하고, 분배된 보상 힘에 따라 각 다리의 관절 토크를 계산하는 자세 제어부; 및 계산된 관절 토크를 각 다리의 관절에 전달하여 토크 서보 제어를 수행하는 서보 제어부를 포함하되, 로봇의 균형을 잡기 위해 보상해야 하는 힘은, 계산된 현재 무게중심의 위치와 설정된 목표 무게중심의 위치 사이에 가상의 스프링이 존재할 때 가상의 스프링의 상수와 계산된 무게중심 에러의 곱으로 나타낸다.According to an aspect of the present invention, there is provided a hip joint comprising: an upper body; a pelvis link connected to the lower side of the upper body; a plurality of hip joints connected to the lower side of the Felis link; a plurality of legs respectively connected to the plurality of hip joints; A walking robot comprising a foot, comprising: a calculation unit for calculating a position of a current center of gravity of the robot; A setting unit for setting a position of the center of gravity of the target of the robot; Calculating an error between the position of the set target center of gravity and the calculated position of the current center of gravity, calculating a force to be compensated for balancing the robot using the calculated center-of-gravity error, And calculates a joint torque of each leg according to the distributed compensation force; And a servo control unit for performing torque servo control by transmitting the calculated joint torque to the joints of the respective legs. The force to be compensated for balancing the robot is determined by calculating the position of the calculated current center of gravity, When there is a virtual spring between the positions, it is expressed as the product of the virtual spring constant and the calculated center-of-gravity error.

또한 자세 제어부는, 로봇의 무게중심이 지면에 투영된 점과 복수의 발 간의 거리 비율을 계산하고, 계산된 거리 비율을 이용하여 로봇의 무게중심이 지면에 투영된 점으로부터 가까운 다리가 더 큰 값을 가지도록 계산된 보상 힘을 복수의 다리에 분배한다.The posture control unit calculates the ratio of the distance between the point where the center of gravity of the robot is projected on the ground and the plurality of feet by using the calculated distance ratio so that the center of gravity of the robot is closer to the point To the plurality of legs.

또한 펠비스 링크의 실제 회전 각도를 측정하는 IMU를 더 포함하고, 자세 제어부는, 측정된 실제 회전 각도와 목표 회전 각도와의 에러를 계산하고, 계산된 회전 각도 에러를 이용하여 로봇의 균형을 잡기 위해 보상해야 하는 모멘트를 계산한다.And further comprising an IMU for measuring an actual rotation angle of the flywheel, wherein the posture control unit calculates an error between the measured actual rotation angle and the target rotation angle, and balances the robot using the calculated rotation angle error Calculate the moment to be compensated for.

또한 자세 제어부는, 계산된 보상 모멘트와 계산된 보상 힘을 발생시키기 위한 관절 토크를 계산하여 각 다리의 자세를 제어한다.Further, the posture control section calculates the joint moment to generate the calculated compensation force and the joint torque to control the posture of each leg.

또한 자세 제어부는, IMU를 이용하여 몸통의 기울어짐에 의한 펠비스 링크의 롤 방향(roll, X축 주위의 회전), 피치 방향(pitch, Y축 주위의 회전), 요우 방향(yaw, Z축 주위의 회전)의 실제 회전 각도를 측정한다.Also, the posture control unit controls the pitch direction (pitch, rotation around the Y axis), the yaw direction (yaw, Z axis) of the flywheel link due to tilting of the trunk using the IMU, And the actual rotation angle of the rotation around the axis of rotation.

또한 자세 제어부는, 각 다리에 대한 중력 보상 토크를 계산하고, 계산된 중력 보상 토크를 이용하여 각 다리의 관절 토크를 보상한다.Further, the posture control section calculates the gravity compensation torque for each leg, and compensates for the joint torque of each leg using the calculated gravity compensation torque.

또한 자세 제어부는, 각 다리에 대한 댐핑 토크를 계산하고, 계산된 댐핑 토크를 이용하여 각 다리의 관절 토크를 보상한다.Further, the posture control section calculates the damping torque for each leg, and compensates for the joint torque of each leg using the calculated damping torque.

제안된 보행 로봇 및 그 자세 제어 방법에 의하면, 로봇의 무게중심과 힙 관절부의 회전 각도를 이용하여 외부에서 작용하는 어떠한 힘이나 지면의 경사 정도 등을 포함한 외부의 변화에 능동적으로 대응함으로써 직립 자세와 밸런싱 유지가 가능한 상체 각도를 안정적으로 유지할 수 있다.According to the proposed walking robot and its posture control method, by using the center of gravity of the robot and the rotation angle of the hip joint, it is possible to actively cope with external changes including external force or inclination of the ground, It is possible to stably maintain the upper body angle capable of balancing maintenance.

또한, 로봇이 평지와 경사면에 대해 사전 정보가 주어지지 않은 상황에서도 지구 중력 방향에 대해 직립 자세를 유지할 수 있고, 서 있는 면이 서서히 기울어 질 경우에도 능동적으로 발목 관절 각도를 바꾸면서 상체와 다리는 변함없는 자세를 유지하는 것도 가능하다.In addition, the robot can maintain the upright postures in the direction of the gravity of the earth even if no information is given about the flat surface and the slope, and the upper body and the legs change while actively changing the angle of the ankle joint even when the standing surface is gradually inclined It is also possible to maintain the posture without.

또한, 상체와 다리의 자세를 유지할 때 로봇의 무게중심을 발 가운데 둔 자세도 가능하고, 로봇의 무게중심을 한 쪽 발 위로 오게끔 지정하면 한 쪽 발로 치우친 자세를 취하게 되며, 발 앞쪽이나 뒤쪽으로 치우친 자세 역시 마찬가지 방법으로 가능하게 된다. 이 변경은 실시간으로 가능하다.In addition, when maintaining the posture of the upper body and the leg, it is possible to position the center of gravity of the robot in the middle of the foot, and if the center of gravity of the robot is positioned on one side of the foot, Is also possible in the same way. This change is possible in real time.

또한, 로봇의 무게중심의 목표 높이(Z 성분)를 줄일 경우 힙, 무릎, 발목의 관절 토크가 변하고 그 결과 관절 각도가 변하여 상체를 목표 높이로 낮추는 것이 실시간으로 가능하다.Also, when the target height (Z component) of the center of gravity of the robot is reduced, the joint torque of the hip, knee, and ankle changes, and as a result, the angle of the joint changes so that the upper body can be lowered to the target height in real time.

또한, 펠비스 링크의 목표 회전 각도(roll, pitch, yaw)를 모두 0으로 세팅한다면 곧게 선 자세가 되고, 그 외 값으로 세팅하면 임의의 방향으로 숙인 자세가 가능하다. 특히 요우(yaw) 값을 바꿀 경우 몸통(pelvis)이 수직축에 대해 트위스트(twist)된 자세를 만들 수 있다. 이 변경은 실시간으로 가능하다.In addition, if the target rotation angle (roll, pitch, yaw) of the flywheel link is set to all zeros, it becomes a straight line posture, and if it is set to any other value, it is possible to sway in any direction. Particularly when changing the yaw value, the pelvis can be twisted about the vertical axis. This change is possible in real time.

또한, 외력이 주어질 경우, 정의된 스프링 상수에 해당하는 강성(stiffness)을 가지고 버티며, 계속해서 밀면 마치 사람처럼 발의 앞이나 뒤가 들린 상태가 되는데 여전히 밸런싱 기능이 수행된다. 결과적으로 기존 방법보다 더 증가된 힘에 대해서도 넘어지지 않고 서 있는 것이 가능하게 되었다.In addition, when an external force is given, it has stiffness that corresponds to the defined spring constant, and if it is continuously pushed, balancing function is performed even if it is in front of or behind the foot like a person. As a result, it became possible to stand still without increasing the strength of the existing method.

도 1은 본 발명의 일 실시예에 의한 로봇의 외관 구성도이다.
도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 의한 로봇의 자세 제어 블록도이다.
도 4는 본 발명의 일 실시예에 의한 로봇의 링크 구성을 나타낸 사시도이다.
도 5는 본 발명의 일 실시예에 의한 로봇의 링크 구성을 나타낸 정면도이다.
도 6은 본 발명의 일 실시예에 의한 보행 로봇의 자세 제어 방법을 나타낸 동작 순서도이다.
1 is an external view of a robot according to an embodiment of the present invention.
Fig. 2 is a view showing a main joint structure of the robot shown in Fig. 1. Fig.
FIG. 3 is a block diagram of a posture control of a robot according to an embodiment of the present invention.
4 is a perspective view illustrating a link structure of a robot according to an embodiment of the present invention.
5 is a front view showing a link configuration of a robot according to an embodiment of the present invention.
6 is a flowchart illustrating a method of controlling a posture of a walking robot according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 의한 로봇의 외관 구성도이고, 도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타낸 도면이다.FIG. 1 is an external view of a robot according to an embodiment of the present invention, and FIG. 2 is a view showing a main joint structure of the robot shown in FIG.

도 1 및 도 2에서, 로봇(100)은 인간과 마찬가지로 두 개의 다리(110)에 의해 직립 이동하는 이족 보행 로봇으로, 몸통(102), 머리(104), 팔(106)로 이루어진 상체(101)와, 두 개의 다리(110)로 이루어진 하체(103)를 가진다.1 and 2, a robot 100 is a bipedal walking robot that moves upright by two legs 110 like a human being and includes an upper body 101 made up of a body 102, a head 104, and an arm 106 And a lower body 103 made up of two legs 110. As shown in Fig.

로봇(100)의 상체(101)는 몸통(102)과, 몸통(102)의 상부에 목(120)을 통해 연결된 머리(104)와, 몸통(102)의 상부 양측에 어깨(114L, 114R)를 통해 연결된 두 개의 팔(106L, 106R)과, 이 두 개의 팔(106L, 106R)의 말단에 각각 연결된 손(108L, 108R)으로 이루어진다.The upper body 101 of the robot 100 includes a body 102, a head 104 connected to the upper part of the body 102 through a neck 120, shoulders 114L and 114R on both sides of the upper side of the body 102, And arms 108L and 108R connected to the ends of the two arms 106L and 106R, respectively.

로봇(100)의 몸통(102)에는 상체(101)가 회전할 수 있도록 요우 방향의 1 자유도를 가지는 허리 관절부(15)가 설치된다.The body 102 of the robot 100 is provided with a waist joint part 15 having one degree of freedom in the yaw direction so that the body 101 can rotate.

로봇(100)의 하체(103)는 허리 관절부(15)의 하측에 연결된 펠비스 링크(16)와, 펠비스 링크(16)의 하부 양측에 연결된 두 개의 다리(110L, 110R)와, 두 개의 다리(110L, 110R) 말단에 각각 연결된 발(112L, 112R)로 이루어진다. The lower body 103 of the robot 100 includes a pelvis link 16 connected to the lower side of the waist joint 15, two legs 110L and 110R connected to both sides of the lower side of the pelvis link 16, And legs 112L and 112R connected to the ends of the legs 110L and 110R, respectively.

참조 부호에서, "R"과 "L"는 각각 로봇(100)의 오른쪽(right)과 왼쪽(left)을 나타내고, COG(Center Of Gravity)는 로봇(100)의 무게 중심을 나타낸다.Reference characters "R" and "L" denote the right and left sides of the robot 100, respectively, and a center of gravity (COG) indicates the center of gravity of the robot 100.

또한, 로봇(100)의 머리(104)에는 주위를 촬영하는 카메라(41)와, 사용자 음성을 입력하는 마이크로폰(42)이 설치된다.A head 41 of the robot 100 is provided with a camera 41 for photographing the surroundings and a microphone 42 for inputting a user's voice.

머리(104)는 목 관절부(280)를 통해 상체(101)의 몸통(102)과 연결된다. 목 관절부(280)는 요우 방향(yaw, Z축 회전)의 회전 관절(281)과, 피치 방향(pitch, Y축 회전)의 회전 관절(282) 및 롤 방향(roll, X축 회전)의 회전 관절(283)을 포함하여 3 자유도를 가진다.The head 104 is connected to the body 102 of the upper body 101 through the neck joint 280. The neck joint part 280 is composed of a rotary joint 281 of yaw (Z-axis rotation), a rotary joint 282 of pitch (Y-axis rotation), and a rotation And has three degrees of freedom including joints 283.

목 관절부(280)의 각각의 회전 관절(281, 282, 283)에는 머리(104)의 회전을 위한 모터들(예를 들어, 전기 모터, 유압 모터 등의 액츄에이터)이 연결된다.Motors (e.g., electric motors, actuators such as hydraulic motors) for rotating the head 104 are connected to the respective rotary joints 281, 282 and 283 of the neck joint 280.

로봇(100)의 두 개의 팔(106L, 106R)은 각각 상박 링크(31), 하박 링크(32) 및 손(33)을 가진다.The two arms 106L and 106R of the robot 100 each have an upper link 31, a lower link 32 and a hand 33. [

상박 링크(31)는 어깨 관절부(250L, 250R)를 통해 상체(101)에 연결되고, 상박 링크(31)와 하박 링크(32)는 팔꿈치 관절부(260)를 통해 서로 연결되며, 하박 링크(32)와 손(33)은 손목 관절부(270)를 통해 서로 연결된다.The upper link 31 is connected to the upper body 101 through the shoulder joints 250L and 250R and the upper link 31 and the upper link 32 are connected to each other via the elbow joint 260. The upper link 31 And the hand 33 are connected to each other through the wrist joint part 270.

어깨 관절부(250L, 250R)는 상체(101)의 몸통(102)의 양측에 설치되어 두 개의 팔(106L, 106R)을 상체(101)의 몸통(102)에 연결한다.The shoulder joints 250L and 250R are provided on both sides of the body 102 of the upper body 101 and connect the two arms 106L and 106R to the body 102 of the upper body 101. [

팔꿈치 관절부(260)는 피치 방향의 회전 관절(261)과, 요우 방향의 회전 관절(262)를 포함하여 2 자유도를 가진다.The elbow joint portion 260 has two degrees of freedom including a pitch joint 261 and a joint joint 262 in the yaw direction.

손목 관절부(270)는 피치 방향의 회전 관절(271)과, 롤 방향의 회전 관절(272)을 포함하여 2 자유도를 가진다.The wrist joint portion 270 has two degrees of freedom including a pitch joint 271 and a roll joint 272. [

손(33)에는 5개의 손가락(33a)이 설치된다. 각각의 손(33a)에는 모터에 의해 구동되는 다수의 관절(미도시)들이 설치될 수 있다. 손가락(33a)은 팔(106)의 움직임에 연동하여 물건을 파지하거나 특정 방향을 가리키는 것과 같은 다양한 동작을 실행한다.The hand 33 is provided with five fingers 33a. A plurality of joints (not shown) driven by a motor may be installed in each of the hands 33a. The finger 33a performs various operations such as grasping an object in conjunction with movement of the arm 106 or pointing to a specific direction.

그리고, 몸통(102)의 하측에는 두 개의 힙 관절부(210)을 가지는 펠비스(pelvis) 링크(16)가 연결된다. 펠비스 링크(16)는 인간의 골반에 해당하는 부분으로 힙 관절부(210)를 통해 상체(101)의 몸통(102)에 연결된다. 펠비스 링크(16)에는 IMU((Inertial Measurement Unit; 17)가 설치된다. IMU(17)는 중력 방향과 관성계에 대해 펠비스 링크(16)의 상대적 각도를 검출하여 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 자세 정보를 발생시킨다.A pelvis link 16 having two hip joints 210 is connected to the lower side of the body 102. The pelvis link 16 is a portion corresponding to a human pelvis and is connected to the body 102 of the upper body 101 through the hip joint 210. The IMU 17 detects the relative angle of the Pelvis link 16 with respect to the gravitational direction and the inertial system and detects the relative angle of the Pelvis link 16 with respect to the roll direction, (Pitch, Y axis rotation), and yaw direction (yaw, Z axis rotation).

그리고, 로봇(100)의 두 개의 다리(110L, 110R)는 각각 대퇴 링크(21)와 하퇴 링크(22), 발(112L, 112R)을 가진다. The two legs 110L and 110R of the robot 100 have the femoral link 21, the lower link 22 and the feet 112L and 112R, respectively.

대퇴 링크(21)는 인간의 허벅다리(허벅지)에 해당하는 부분으로 힙 관절부(210)를 통해 펠비스 링크(16)에 연결되고, 대퇴 링크(21)와 하퇴 링크(22)는 무릎 관절부(220)를 통해 서로 연결되며, 하퇴 링크(22)와 발(112L, 112R)은 발목 관절부(230)를 통해 서로 연결된다.The femoral link 21 is connected to the felvis link 16 through the hip joint 210 as a portion corresponding to the human thigh and the femoral link 21 and the lower link 22 are connected to the knee joint And the lower link 22 and the feet 112L and 112R are connected to each other through the ankle joint part 230. [

힙 관절부(210)는 요우 방향(yaw, Z축 주위의 회전)의 회전 관절(211; 힙 요우 조인트)과, 피치 방향(pitch, Y축 주위의 회전)의 회전 관절(212; 힙 피치 조인트)과, 롤 방향(roll, X축 주위의 회전)의 회전 관절(213; 힙 롤 조인트)을 포함하여 3 자유도를 가진다.The hip joint part 210 includes a rotary joint 211 (heap yaw joint) in the yaw direction (rotation around the Z axis) and a rotary joint 212 (heap pitch joint in the pitch direction, rotation around the Y axis) And a rotation joint 213 (a hip roll joint) in the roll direction (rotation around the X axis).

무릎 관절부(220)는 피치 방향의 회전 관절(221)을 포함하여 1 자유도를 가진다.The knee joint 220 has a degree of freedom including a rotation joint 221 in the pitch direction.

발목 관절부(230)는 피치 방향의 회전 관절(231)과, 롤 방향의 회전 관절(232)을 포함하여 2 자유도를 가진다.The ankle joint part 230 has two degrees of freedom including a pitch joint 231 and a roll joint 232.

두 개의 다리(110L, 110R) 각각에는 힙 관절부(210), 무릎 관절부(220), 발목 관절부(230)에 대해 6개의 회전 관절이 마련되므로, 두 개의 다리(110L, 110R) 전체에 대해서는 12개의 회전 관절이 마련된다.Since each of the two legs 110L and 110R has six revolute joints for the hip joint 210, the knee joint 220 and the ankle joint 230, twelve legs 110L and 110R are twelve A rotating joint is provided.

한편, 두 개의 다리(110L, 110R)에서 발(112L, 112R)과 발목 관절부(230)의 사이에는 다축 F/T센서(Multi-Axis Force and Torque Sensor; 24)가 각각 설치된다. F/T 센서(24)는 발(112L, 112R)로부터 전달되는 힘의 3방향 성분(Fx, Fy, Fz)과 모멘트의 3방향 성분(Mx, My, Mz)을 측정함으로써 발(112L, 112R)의 착지 여부 및 발(112L, 112R)에 가해지는 하중을 검출한다.On the other hand, a multi-axis F / T sensor (Multi-Axis Force and Torque Sensor) 24 is installed between the feet 112L and 112R and the ankle joint 230 in the two legs 110L and 110R. The F / T sensor 24 measures the three directional components Fx, Fy and Fz of the force transmitted from the feet 112L and 112R and the three directional components Mx, My and Mz of the moment, And the loads applied to the feet 112L and 112R are detected.

도면에 도시되어 있지 않지만, 로봇(100)에는 각 회전 관절을 구동하는 모터 등과 같은 액츄에이터가 설치된다. 로봇(100)의 동작 전반을 제어하는 자세 제어부는 이 모터를 적절히 제어함으로써 로봇(100)의 다양한 동작을 구현할 수 있다.Although not shown in the drawing, the robot 100 is provided with an actuator such as a motor for driving the rotating joints. The posture control unit for controlling the overall operation of the robot 100 can realize various operations of the robot 100 by properly controlling the motor.

로봇(100)은 제어 동작(Control Action)의 실행을 위해 각 제어 동작(Control Action)에 대응하여 각 관절의 토크 지령을 계산하고, 계산된 토크 지령을 각 관절에 설치된 모터 등의 액츄에이터에 출력하여 액츄에이터를 구동시킨다.The robot 100 calculates a torque command for each joint according to each control action for execution of a control action and outputs the calculated torque command to an actuator such as a motor provided in each joint And drives the actuator.

본 발명의 일 실시예에서는 로봇(100)의 무게중심 위치와 펠비스 링크(16)의 관성계에서 본 각도를 이용하여 로봇(100)이 실시간으로 균형을 잡기 위해 보상해야 하는 힘과 모멘트를 계산한다. 그리고 계산된 보상 힘과 보상 모멘트를 두 개의 다리(110L, 110R)에 분배하여 각 다리(110L, 110R)의 자세를 제어하기 위한 관절 토크를 계산하고, 계산된 관절 토크를 이용하여 두 개의 다리(110L, 110R)에 대한 토크 서보 제어를 수행한다. 이에 따라 관절 토크는 상체(101) 각도를 안정적으로 유지하게 되므로 로봇(100)의 직립 자세와 밸런싱 유지가 가능하다. 또한, 각 다리(110L, 110R)에 대하여 중력에 의한 토크를 보상하는 부분을 추가하여 중력으로 인해 무게중심이 아래로 처지지 않게 한다. 또한, IMU(17)로부터 로봇(100)과 중력 방향의 상대적 기울어짐을 알 수 있기 때문에 지면이 어떤 방향으로 기울어져 있더라도 능동적으로 발목 관절부(230)의 토크를 제어하면서 상체(101)와 다리(110L, 110R)는 변함없는 자세를 유지할 수 있도록 한다. 이를 도 3을 참조하여 구체적으로 설명한다.In an embodiment of the present invention, the force and moment to be compensated for real-time balancing of the robot 100 are calculated using the center of gravity position of the robot 100 and the angle of the Pellbiss link 16 viewed from the inertial system . Then, the calculated compensating force and the compensating moment are distributed to the two legs 110L and 110R to calculate the joint torque for controlling the posture of each leg 110L and 110R, and the calculated joint torque is used to calculate the two legs 110L, and 110R. Accordingly, since the joint torque maintains the angle of the upper body 101 stably, it is possible to maintain the upright posture and the balancing of the robot 100. In addition, a portion for compensating for the torque due to gravity is added to each of the legs 110L, 110R so that the center of gravity is prevented from falling down due to gravity. Since the relative inclination of the IMU 17 with the robot 100 in the gravitational direction can be known, the torque of the ankle joint part 230 is controlled actively, regardless of the direction of the ground, , 110R) can maintain the unchanged attitude. This will be described in detail with reference to FIG.

도 3은 본 발명의 일 실시예에 의한 로봇의 자세 제어 블록도이고, 도 4는 본 발명의 일 실시예에 의한 로봇의 링크 구성을 나타낸 사시도이며, 도 5는 본 발명의 일 실시예에 의한 로봇의 링크 구성을 나타낸 정면도이다.4 is a perspective view illustrating a link structure of a robot according to an embodiment of the present invention, and FIG. 5 is a perspective view of a robot according to an embodiment of the present invention. Fig. 2 is a front view showing a link configuration of the robot.

도 3에서, 본 발명의 일 실시예에 의한 로봇(100)의 자세 제어 시스템은 센서부(300), 설정부(310), 자세 제어부(320), 서보 제어부(330) 및 두 다리(110L, 110R)의 힙 관절부(210), 무릎 관절부(220), 발목 관절부(230)를 포함한다.3, the posture control system of the robot 100 according to an embodiment of the present invention includes a sensor unit 300, a setting unit 310, a posture control unit 320, a servo control unit 330, and two legs 110L, 110R of the hip joint 210, the knee joint 220, and the ankle joint 230, respectively.

센서부(300)는 펠비스 링크(16)의 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 기울기 및 회전 각도를 측정하는 IMU(17)와, 로봇(100)의 발(112)과 발목 관절부(230)의 사이에 설치되어 발(112)의 지면 접촉 여부를 검출하는 F/T 센서(24)를 포함한다.The sensor unit 300 measures the slope and the rotation angle of the flywheel 16 in the roll direction (X axis rotation), the pitch direction (pitch, Y axis rotation), the yaw direction (yaw, Z axis rotation) And an F / T sensor 24 installed between the foot 112 of the robot 100 and the ankle joint 230 to detect whether the foot 112 is in contact with the ground.

여기서, 상체(101)의 자세를 검출하는 센서로는 IMU(17) 외에도 Tilting Detection, Gyro Sensor 등을 사용할 수 있으며, 발(112)의 지면 접촉 여부를 검출하는 센서로는 F/T 센서(24) 외에도 접촉 센서 또는 이와 상응하는 센서를 사용할 수 있다.Tilt detection, gyro sensor, etc. may be used in addition to the IMU 17 as a sensor for detecting the attitude of the body 101. An F / T sensor 24 ), A contact sensor or a corresponding sensor can be used.

설정부(310)는 로봇(100)이 직립 자세를 유지하면서 실시간으로 균형을 잡을 수 있도록 로봇(100)이 지면과 접촉된 두 발(110L, 110R) 사이의 중점에서 지면과 수직인 위치로 로봇(100)의 목표 무게중심(COG) C´(x, y, z)의 위치를 설정하는 것으로, 도 4에 도시한 바와 같이, 로봇(100)의 균형을 잡기 위해 로봇(100)의 상태(State)에 부합하는 목표 무게중심(COG) C´(x, y, z)의 위치를 설정한다.The setting unit 310 sets the robot 100 in a position perpendicular to the ground at a midpoint between the two feet 110L and 110R that are in contact with the ground so that the robot 100 can balance in real time while maintaining the upright posture. The position of the target center of gravity COG C '(x, y, z) of the robot 100 is set so that the state of the robot 100 (X, y, z) corresponding to the target center of gravity COG (State).

자세 제어부(320)는 설정부(310)로부터 설정된 로봇(100)의 목표 무게중심(COG)과 센서부(300)로부터 검출된 센서 정보를 바탕으로 로봇(100)의 자세를 제어하는 PD(Proportional-Derivative) 또는 PID(Proportional-Integral-Derivative) Controller로, 무게중심 계산부(321), 무게중심 에러 계산부(322), 보상 힘 계산부(323), 다리 분배부(324), 회전 각도 에러 계산부(325), 보상 모멘트 계산부(326), 제1 및 제2토크 계산부(327, 328) 및 토크 보상부(329)를 포함한다.The posture control unit 320 controls the posture of the robot 100 based on the target center of gravity COG of the robot 100 set by the setting unit 310 and the sensor information detected from the sensor unit 300, A center-of-gravity error calculator 322, a compensation-force calculator 323, a leg distributor 324, a rotation angle error calculator 324, And includes a calculation unit 325, a compensation moment calculation unit 326, first and second torque calculation units 327 and 328, and a torque compensation unit 329.

무게중심 계산부(321)는 IMU(17)와 순기구학 계산(Forward Kinematics)에 의하여 로봇(100)의 현재 무게중심(COG) C(x, y, z)의 위치를 계산한다. 로봇(100)의 현재 무게중심(COG) C(x, y, z)의 위치는 도 4에 도시한 바와 같이, 몸통(102)에 마련되며, 이때 현재 무게중심(COG) C(x, y, z)의 방향은 중력(Gravity)의 방향에 고정된 관성계의 방향(Orientation)에 따른다.The center of gravity calculation unit 321 calculates the position of the current center of gravity COG C (x, y, z) of the robot 100 by the IMU 17 and Forward Kinematics. The position of the current center of gravity C (x, y, z) of the robot 100 is provided in the body 102 as shown in FIG. 4. At this time, the current center of gravity COG (x, y , z) depends on the orientation of the inertial system fixed in the direction of gravity.

무게중심 에러 계산부(322)는 계산된 현재 무게중심(COG) C(x, y, z)의 위치와 설정된 목표 무게중심(COG) C´(x, y, z)의 위치 간의 에러 e를 아래의 [수학식 1]과 같이, 계산한다.The center-of-gravity error calculator 322 calculates an error e between the calculated position of the current center of gravity COG C (x, y, z) and the center of the set target center of gravity COG (x, y, z) As shown in the following equation (1).

[수학식 1][Equation 1]

e = C´ - Ce = C ' -C

보상 힘 계산부(323)는 계산된 현재 무게중심(COG) C(x, y, z)의 위치와 설정된 목표 무게중심(COG) C´(x, y, z)의 위치 사이에 가상의 스프링(105; 상수 kp)이 있다고 할 때, 무게중심 에러 계산부(322)에서 계산된 무게중심 에러 e를 이용하여 로봇(100)의 균형을 잡기 위해 보상해야 하는 힘 f(fx, fy, fz)을 아래의 [수학식 2]와 같이, 계산한다.The compensation force calculation unit 323 calculates the compensation force calculation unit 323 between the position of the calculated current center of gravity COG C (x, y, z) and the center of the set target center of gravity COG (x, y, z) 105 (constant k p) force f (f x, f y, which must be compensated in order to balance the mobile robot 100 by using the center of gravity error e calculated in the, center of gravity error computation section 322 when there is , f z ) is calculated as shown in the following equation (2).

[수학식 2]&Quot; (2) "

Figure pat00001
Figure pat00001

다리 분배부(324)는 무게중심 에러 e를 이용하여 계산된 보상 힘 f(fx, fy, fz)을 아래의 [수학식 3]과 같이, 두 다리(110L, 110R)에 분배한다.Bridge distributor 324 distributes to as a compensated force f (f x, f y, f z) calculated using the weight center of the error e and Equation 3 below, the two legs (110L, 110R) .

[수학식 3]&Quot; (3) "

Figure pat00002
,
Figure pat00002
,

Figure pat00003
Figure pat00003

[수학식 3]에서, wL, wR은 도 5에 도시한 바와 같이, 로봇(100)의 무게중심(COG)이 지면에 투영된 점과 두 발(112L, 112R) 간의 거리 비율 dL, dR을 이용하여 로봇(100)의 무게중심(COG)이 지면에 투영된 점으로부터 가까운 다리(예를 들어, 110L)가 아래의 [수학식 4]와 같이, 더 큰 값을 갖도록 한다.In Equation (3), w L , w R is using, the center of gravity (COG) of the robot 100 is projected to the ground point and feet distance ratio between (112L, 112R) d L, d R, as shown in Figure 5 the robot 100 (For example, 110L) from the point at which the center of gravity COG of the target object is projected on the ground has a larger value as shown in the following Equation (4).

[수학식 4]&Quot; (4) "

Figure pat00004
,
Figure pat00004
,

Figure pat00005
Figure pat00005

회전 각도 에러 계산부(325)는 IMU(17)로부터 측정된 펠비스 링크(16)의 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 회전 각도와 목표 회전 각도와의 에러 e1를 계산한다.The rotation angle error calculator 325 calculates the rotation angle error of the Pelvis link 16 measured by the IMU 17 in the roll direction, the pitch direction and the yaw direction, And calculates the error e 1 between the rotation angle and the target rotation angle.

보상 모멘트 계산부(326)는 펠비스 링크(16)의 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 세 축에 대해 가상의 스프링(상수 k1)이 있다고 가정했을 때, 회전 각도 에러 계산부(325)에서 계산된 회전 각도 에러 e1를 이용하여 로봇(100)의 균형을 잡기 위해 보상해야 하는 모멘트 M(Mx, My, Mz)을 아래의 [수학식 5]와 같이, 계산한다.The compensation moment calculation section 326 calculates a compensation moment based on the three axes of the roll direction (roll, X axis rotation), the pitch direction (pitch, Y axis rotation), and the yaw direction A moment M (M x , m) to be compensated for balancing the robot 100 using the rotation angle error e 1 calculated by the rotation angle error calculator 325, assuming that the spring (constant k 1 ) M y , M z ) are calculated as shown in the following equation (5).

[수학식 5]&Quot; (5) "

Figure pat00006
Figure pat00006

제1 및 제2토크 계산부(327, 328)는 보상 모멘트 계산부(326)에서 계산된 보상 모멘트 M과 보상 힘 계산부(323)에서 계산된 보상 힘 f를 발생시키기 위한 관절 토크 τ를 두 다리(110L, 110R)에 대하여 아래의 [수학식 6]과 같이, 각각 계산한다.The first and second torque calculation units 327 and 328 calculate the compensation moment M calculated in the compensation moment calculation unit 326 and the joint torque tau to generate the compensation force f calculated in the compensation force calculation unit 323 For each of the legs 110L and 110R, as shown in the following Equation (6).

[수학식 6]&Quot; (6) "

Figure pat00007
Figure pat00007

[수학식 6]에서, 관절 토크 τ는 6-벡터이다.In Equation (6), the joint torque tau is a 6-vector.

토크 보상부(329)는 [수학식 6]에서 구한 관절 토크 τ에 추가적으로 중력 보상을 위한 토크 G(q)를 더하여 아래의 [수학식 7]과 같이, 보상된 관절 토크 τ1를 계산한다. 이때 관절 토크 τ는 왼쪽 다리(110L)의 토크

Figure pat00008
와 오른쪽 다리(110R)의 토크
Figure pat00009
에 대해 동일한 과정을 거치므로 이하에서는 τ라고 설명한다.The torque compensating unit 329 adds the torque G (q) for gravity compensation to the joint torque? Obtained in the equation (6) to calculate the compensated joint torque? 1 as shown in the following equation (7). At this time, the joint torque? Is the torque of the left leg 110L
Figure pat00008
And the torque of the right leg 110R
Figure pat00009
Since the same process is performed for?, It is described as? In the following.

[수학식 7]&Quot; (7) "

Figure pat00010
Figure pat00010

[수학식 7]에서, G(q)는 모든 족부 관절의 각도 q와, 각 다리(110R, 110L)에 속한 모든 링크 (21, 22)의 질량 및 무게중심의 위치와 상체(101)의 총질량 및 무게중심 위치로부터 계산이 가능하다.In Equation (7), G (q) represents the angle q of all the foot joints, the position of the mass and the center of gravity of all the links 21 and 22 belonging to each of the legs 110R and 110L, Mass and center of gravity.

또한, 토크 보상부(329)는 시스템의 passivity를 구현하여 안정성을 더하기 위해 각 관절에 댐핑(속도에 비례하여 저항하는) 토크 dw를 더하여 아래의 [수학식 8]과 같이, 보상된 관절 토크 τ2를 계산한다.Further, the torque compensating unit 329 adds damping (corresponding to the speed in proportion to the torque) dw to each joint in order to realize stability of the system by implementing the passivity of the system, so that the compensated joint torque? 2 is calculated.

[수학식 8]&Quot; (8) "

Figure pat00011
Figure pat00011

[수학식 8]에서, d는 적절히 설정한 댐핑 계수이고, w는 측정한 관절 각속도이다.In Equation (8), d is a properly set damping coefficient, and w is a measured joint angular velocity.

서보 제어부(330)는 토크 보상부(329)에서 최종적으로 보상된 관절 토크 τ2를 두 다리(110L 또는 110R)의 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 각각 제공하여 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 설치된 모터 등의 액츄에이터를 구동시키도록 보상된 관절 토크 τ2에 대응하는 토크 제어 신호를 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 출력한다.The servo control unit 330 provides the joint torque τ 2 finally compensated in the torque compensating unit 329 to the hip joint part 210, the knee joint part 220 and the ankle joint part 230 of the two legs 110L and 110R, respectively A torque control signal corresponding to the compensated joint torque? 2 to drive an actuator such as a motor installed in the hip joint 210, the knee joint 220 and the ankle joint 230 is transmitted to the hip joint 210, 220 and the ankle joint part 230, respectively.

따라서, 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)는 서보 제어부(330)로부터 토크 제어 신호를 입력받아 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 설치된 모터 등의 액츄에이터를 구동시킴으로써 지면이 기울어져 있더라도 로봇(100)이 직립 자세를 유지하면서 실시간으로 균형을 유지할 수 있도록 한다.Accordingly, the hip joint 210, the knee joint 220, and the ankle joint 230 receive the torque control signal from the servo controller 330, and receive the torque control signal from the hip joint 210, the knee joint 220, and the ankle joint 230, By driving an actuator such as an installed motor, the robot 100 can maintain a balance in real time while maintaining an upright posture even if the ground surface is inclined.

이하, 상기와 같이 구성된 보행 로봇 및 그 자세 제어 방법의 동작과정 및 작용효과를 설명한다.Hereinafter, the operation process and effect of the walking robot and the attitude control method constructed as above will be described.

도 6은 본 발명의 일 실시예에 의한 보행 로봇의 자세 제어 방법을 나타낸 동작 순서도이다.6 is a flowchart illustrating a method of controlling a posture of a walking robot according to an embodiment of the present invention.

도 6에서, 사용자 인터페이스를 통해 로봇(100)의 자세 제어를 지시하기 위한 사용자 명령을 입력한다(400).In FIG. 6, a user command for instructing the control of the attitude of the robot 100 is inputted through a user interface (400).

자세제어 명령이 입력되면, 로봇(100)의 펠비스 링크(16)에 설치된 IMU(17)는 펠비스와 몸통(102)을 포함한 상체(101)의 기울기와 방향을 관성계에 대한 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 회전 각도로 측정하여 자세 제어부(320)의 무게중심 계산부(321)에 전송한다(402).The IMU 17 provided on the pelvis link 16 of the robot 100 moves the inclination and direction of the upper body 101 including the pelvis and the body 102 to the roll direction Axis, the X-axis rotation), the pitch direction (pitch, Y-axis rotation), and the yaw direction (yaw, Z-axis rotation) to transmit to the center of gravity calculation unit 321 of the posture control unit 320 (402) .

따라서, 무게중심 계산부(321)는 IMU(17)와 순기구학 계산(Forward Kinematics)에 의하여 로봇(100)의 현재 무게중심(COG) C(x, y, z)의 위치를 계산하여 무게중심 에러 계산부(322)에 전송한다(404).The center of gravity calculation unit 321 calculates the position of the current center of gravity COG C (x, y, z) of the robot 100 by the IMU 17 and Forward Kinematics, To the error calculator 322 (404).

그리고, 설정부(310)는 로봇(100)이 지면과 접촉된 두 발(110L, 110R) 사이의 중점에서 지면과 수직인 위치로 로봇(100)의 목표 무게중심(COG) C´(x, y, z)의 위치를 설정하여 무게중심 에러 계산부(322)에 전송한다(406).The setting unit 310 sets the target center of gravity COG of the robot 100 to a position perpendicular to the ground at a midpoint between the two feet 110L and 110R of the robot 100 contacting the ground, y, z) to the center-of-gravity error calculator 322 (406).

이에 따라, 무게중심 에러 계산부(322)는 무게중심 계산부(321)에서 계산된 현재 무게중심(COG) C(x, y, z)의 위치와 설정부(310)에서 설정된 목표 무게중심(COG) C´(x, y, z)의 위치 간의 에러 e를 아래의 [수학식 1]과 같이, 계산하여 보상 힘 계산부(323)에 전송한다(408).Accordingly, the center-of-gravity error calculator 322 calculates the center-of-gravity error by using the position of the current center of gravity COG (x, y, z) calculated by the center-of-gravity calculator 321, (X, y, z) as shown in Equation (1) below, and transmits it to the compensation force calculator 323 (408).

[수학식 1][Equation 1]

e = C´ - Ce = C ' -C

보상 힘 계산부(323)는 무게중심 에러 계산부(322)에서 계산된 무게중심 에러 e를 이용하여 로봇(100)의 균형을 잡기 위해 보상해야 하는 힘 f(fx, fy, fz)을 아래의 [수학식 2]와 같이, 계산하여 다리 분배부(324)에 전송한다.The compensation force calculation unit 323 calculates a force f (f x , f y , f z ) to be compensated for balancing the robot 100 using the center-of-gravity error e calculated by the center-of-gravity error calculation unit 322, To the leg distribution unit 324, as shown in the following equation (2).

[수학식 2]&Quot; (2) "

Figure pat00012
Figure pat00012

따라서, 다리 분배부(324)는 무게중심 에러 e를 이용하여 계산된 보상 힘 f(fx, fy, fz)을 아래의 [수학식 3]과 같이, 두 다리(110L, 110R)에 분배한다(410).Accordingly, the bridge minutes to distribute 324 the center of gravity error e compensated force f (f x, f y, f z) of Equation 3, the two legs (110L, 110R), as shown in the following calculation using the (410).

[수학식 3]&Quot; (3) "

Figure pat00013
,
Figure pat00013
,

Figure pat00014
Figure pat00014

[수학식 3]에서, wL, wR은 도 5에 도시한 바와 같이, 로봇(100)의 무게중심(COG)이 지면에 투영된 점과 두 발(112L, 112R) 간의 거리 비율 dL, dR을 이용하여 로봇(100)의 무게중심(COG)이 지면에 투영된 점으로부터 가까운 다리(예를 들어, 110L)가 아래의 [수학식 4]와 같이, 더 큰 값을 갖도록 한다.In Equation (3), w L , w R is using, the center of gravity (COG) of the robot 100 is projected to the ground point and feet distance ratio between (112L, 112R) d L, d R, as shown in Figure 5 the robot 100 (For example, 110L) from the point at which the center of gravity COG of the target object is projected on the ground has a larger value as shown in the following Equation (4).

[수학식 4]&Quot; (4) "

Figure pat00015
,
Figure pat00015
,

Figure pat00016
Figure pat00016

그리고, 회전 각도 에러 계산부(325)는 IMU(17)로부터 측정된 펠비스 링크(16)의 롤 방향(roll, X축 회전), 피치 방향(pitch, Y축 회전), 요우 방향(yaw, Z축 회전)의 회전 각도와 목표 회전 각도와의 에러 e1를 계산하여 보상 모멘트 계산부(326)에 전송한다(412).The rotation angle error calculator 325 calculates the rotation angle error of the Pelvis link 16 measured by the IMU 17 in the roll direction, the X axis direction, the pitch direction and the yaw direction, calculating a rotation angle and the error e 1 of the target rotation angle of the Z-axis rotation), and transmits the calculated moment compensation section 326 (412).

따라서, 보상 모멘트 계산부(326)는 회전 각도 에러 계산부(324)에서 계산된 회전 각도 에러 e1를 이용하여 로봇(100)의 균형을 잡기 위해 보상해야 하는 모멘트 M(Mx, My, Mz)을 아래의 [수학식 5]와 같이, 계산한다(414).Accordingly, the compensation moment calculation unit 326 calculates moments M (M x , M y , M y ) to be compensated for balancing the robot 100 using the rotation angle error e 1 calculated by the rotation angle error calculation unit 324, M z ) is calculated as shown in Equation (5) below (414).

[수학식 5]&Quot; (5) "

Figure pat00017
Figure pat00017

발(112)을 로봇(100)의 베이스 링크라고 보고, 무게중심(COG)을 펠비스 링크(16) 상에 존재하는 엔드 이펙터(end effector)라고 볼 때의 6-by-6 자코비안(jacobian) 행렬 J를 계산한다. 자코비안은 관절 공간의 속도를 작업 공간의 속도로 변환할 수 있는 행렬이며, 순기구학 계산(Forward Kinematics)으로부터 유도된다.The foot 112 is referred to as the base link of the robot 100 and the center of gravity COG is referred to as the 6-by-6 Jacobian ) ≪ / RTI > Jacobian is a matrix that can translate the velocity of joint space into the velocity of the workspace and is derived from forward kinematics.

이에, 제1 및 제2토크 계산부(327, 328)는 보상 모멘트 계산부(326)에서 계산된 보상 모멘트 M과 보상 힘 계산부(323)에서 계산된 보상 힘 f를 발생시키기 위한 관절 토크 τ를 두 다리(110L, 110R)에 대하여 아래의 [수학식 6]과 같이, 각각 계산한다(416).The first and second torque calculation units 327 and 328 calculate the compensation moment M calculated by the compensation moment calculation unit 326 and the joint torque? (416) with respect to the two legs 110L and 110R as shown in the following Equation (6).

[수학식 6]&Quot; (6) "

Figure pat00018
Figure pat00018

[수학식 6]에서, 관절 토크 τ는 6-벡터이다.In Equation (6), the joint torque tau is a 6-vector.

이어서, 토크 보상부(329)는 [수학식 6]에서 구한 관절 토크 τ에 추가적으로 중력 보상을 위한 토크 G(q)를 더하여 아래의 [수학식 7]과 같이, 보상된 관절 토크 τ1를 계산한다. 이때 관절 토크 τ는 왼쪽 다리(110L)의 토크

Figure pat00019
와 오른쪽 다리(110R)의 토크
Figure pat00020
에 대해 동일한 과정을 거치므로 이하에서는 τ라고 설명한다.Next, the torque compensating section 329 adds the torque G (q) for gravity compensation to the joint torque? Obtained in the equation (6) to calculate the compensated joint torque? 1 as shown in the following equation (7) do. At this time, the joint torque? Is the torque of the left leg 110L
Figure pat00019
And the torque of the right leg 110R
Figure pat00020
Since the same process is performed for?, It is described as? In the following.

[수학식 7]&Quot; (7) "

Figure pat00021
Figure pat00021

[수학식 7]에서, G(q)는 모든 족부 관절의 각도 q와 각 다리 (110R, 110L)에 속한 모든 링크 (21, 22)의 질량 및 무게중심의 위치와 상체(101)의 총질량 및 무게중심 위치로부터 계산이 가능하다.In Equation (7), G (q) is the sum of the angles q of all the foot joints, the positions of the masses and the centers of gravity of all the links 21 and 22 belonging to the respective legs 110R and 110L and the total mass of the body 101 And the center of gravity position.

이외에도, 토크 보상부(329)는 시스템의 passivity를 구현하여 안정성을 더하기 위해 각 관절에 댐핑(속도에 비례하여 저항하는) 토크 dw를 더하여 아래의 [수학식 8]과 같이, 보상된 관절 토크 τ2를 계산한다(418).In addition, the torque compensating unit 329 adds damping (corresponding to the speed in proportion to the torque) dw to each joint in order to improve the stability of the system by implementing passivity of the system, so that the compensated joint torque? 2 (418).

[수학식 8]&Quot; (8) "

Figure pat00022
Figure pat00022

[수학식 8]에서, d는 댐핑 계수이고, w는 관절 각속도이다.In Equation (8), d is the damping coefficient, and w is the joint angular velocity.

이후, 서보 제어부(330)는 토크 보상부(329)에서 최종적으로 보상된 관절 토크 τ2를 두 다리(110L 또는 110R)의 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 각각 제공하여 힙 관절부(210), 무릎 관절부(220) 및 발목 관절부(230)에 설치된 모터 등의 액츄에이터를 구동시킴으로써(420), 지면이 기울어져 있더라도 로봇(100)이 직립 자세를 유지하면서 실시간으로 균형을 유지할 수 있도록 한다.The servo control unit 330 then outputs the joint torque τ 2 finally compensated in the torque compensating unit 329 to the hip joint part 210, the knee joint part 220 and the ankle joint part 230 of the two legs 110L and 110R The robot 100 is driven in an upright position while maintaining the upright position even if the ground is inclined (420) by driving an actuator such as a motor installed in the hip joint 210, the knee joint 220 and the ankle joint 230, Keep balance.

따라서, 지면의 각도가 수평이 아니어도 로봇(100)의 균형을 잡을 수 있으며, 로봇(100)이 천천히 움직일 때나 빠르게 움직일 때 모두 균형을 잡을 수 있다.Therefore, the robot 100 can be balanced even when the angle of the ground is not horizontal, and both the robot 100 and the robot 100 can be balanced when moving slowly or rapidly.

또한, 지면이 기울어져 있더라도 몸통(102)을 지지하는 두 다리(110L, 110R)의 관절을 이용하여 로봇(100)의 균형을 유지하기 때문에, 그 방법이 간단하여 6 자유도의 관절을 가진 로봇(100)에 적용할 수 있다.Even if the ground surface is inclined, since the balance of the robot 100 is maintained by using the joints of the two legs 110L and 110R supporting the body 102, the method is simple and a robot having joints of six degrees of freedom 100).

16 : 펠비스 링크 17 : IMU
100 : 로봇 101 : 상체
102 : 몸통 110L, 110R : 다리
112L, 112R : 발 210 : 힙 관절부
220 : 무릎 관절부 230 : 발목 관절부
300 : 센서부 310 : 설정부
320 : 자세 제어부 321 : 무게중심 계산부
322 : 무게중심 에러 계산부 323 : 보상 힘 계산부
324 : 다리 분배부 325 : 회전 각도 에러 계산부
326 : 보상 모멘트 계산부 327, 328 : 토크 계산부
329 : 토크 보상부 330 : 서보 제어부
16: Pelvis Link 17: IMU
100: robot 101: upper body
102: body 110L, 110R: leg
112L, 112R: Foot 210: Hip Joint
220: knee joint 230: ankle joint
300: sensor unit 310: setting unit
320: attitude control unit 321:
322: center-of-gravity error calculation unit 323:
324: leg distribution portion 325: rotation angle error calculation section
326: Compensation moment calculation unit 327, 328: Torque calculation unit
329: Torque compensating unit 330: Servo control unit

Claims (19)

상체와, 상기 상체의 하측에 연결된 펠비스 링크와, 상기 펠비스 링크의 하측에 연결된 복수의 힙 관절부와, 상기 복수의 힙 관절부에 각각 연결된 복수의 다리와, 상기 복수의 다리에 각각 마련된 발을 구비한 보행 로봇의 자세 제어 방법에 있어서,
상기 로봇의 현재 무게중심의 위치를 계산하고;
상기 로봇의 목표 무게중심의 위치를 설정하고;
상기 설정된 목표 무게중심의 위치와 상기 계산된 현재 무게중심의 위치 간의 에러를 계산하고;
상기 계산된 무게중심 에러를 이용하여 상기 로봇의 균형을 잡기 위해 보상해야 하는 힘을 계산하고;
상기 계산된 보상 힘을 상기 복수의 다리에 분배하고;
상기 분배된 보상 힘에 따라 각 다리의 관절 토크를 계산하고;
상기 계산된 관절 토크를 이용하여 토크 서보 제어를 수행하되,
상기 로봇의 균형을 잡기 위해 보상해야 하는 힘은, 상기 계산된 현재 무게중심의 위치와 상기 설정된 목표 무게중심의 위치 사이에 가상의 스프링이 존재할 때 상기 가상의 스프링의 상수와 상기 계산된 무게중심 에러의 곱으로 나타내는 보행 로봇의 자세 제어 방법.
A plurality of leg joints connected to a lower side of the Felis link, a plurality of legs respectively connected to the plurality of hip joint parts, and legs respectively provided to the legs, A method of controlling a posture of a walking robot,
Calculating a position of the current center of gravity of the robot;
Setting a position of the target center of gravity of the robot;
Calculating an error between the set target center of gravity position and the calculated current center of gravity position;
Calculating a force to be compensated for balancing the robot using the calculated center-of-gravity error;
Distributing the calculated compensating force to the plurality of legs;
Calculate a joint torque of each leg according to the distributed compensation force;
Performing torque servo control using the calculated joint torque,
A force to be compensated for balancing the robot is calculated by calculating a difference between a constant of the virtual spring and a calculated center-of-gravity error when there is a virtual spring between the calculated current center of gravity and the center of the set target center of gravity, Of the posture of the robot.
제1항에 있어서,
상기 목표 무게중심의 위치는,
상기 지면과 접촉된 상기 복수의 발 사이의 중점에서 상기 지면과 수직인 위치로 설정하는 보행 로봇의 자세 제어 방법.
The method according to claim 1,
The position of the center of gravity of the target,
And setting a position perpendicular to the ground at a midpoint between the plurality of feet in contact with the ground.
제1항에 있어서,
상기 목표 무게중심의 위치는,
상기 지면과 접촉된 상기 복수의 발 내의 임의의 점에서 상기 지면과 수직인 위치로 설정하는 보행 로봇의 자세 제어 방법.
The method according to claim 1,
The position of the center of gravity of the target,
And setting a position perpendicular to the ground at an arbitrary point in the plurality of feet in contact with the ground.
제2항 또는 제3항에 있어서,
상기 계산된 보상 힘을 상기 복수의 다리에 분배하는 것은,
상기 로봇의 무게중심이 상기 지면에 투영된 점과 상기 복수의 발 간의 거리 비율을 계산하고;
상기 계산된 거리 비율을 이용하여 상기 로봇의 무게중심이 상기 지면에 투영된 점으로부터 가까운 다리가 더 큰 값을 갖는 보행 로봇의 자세 제어 방법.
The method according to claim 2 or 3,
And distributing the calculated compensating force to the plurality of legs,
Calculating a ratio of a distance between a point where the center of gravity of the robot is projected on the ground and the plurality of feet;
And a leg near the point where the center of gravity of the robot is projected on the ground surface has a larger value using the calculated distance ratio.
제1항에 있어서,
상기 펠비스 링크의 실제 회전 각도를 측정하고;
상기 측정된 실제 회전 각도와 목표 회전 각도와의 에러를 계산하고;
상기 계산된 회전 각도 에러를 이용하여 상기 로봇의 균형을 잡기 위해 보상해야 하는 모멘트를 계산하는 것을 더 포함하고,
상기 관절 토크를 계산하는 것은,
상기 계산된 보상 모멘트와 상기 계산된 보상 힘을 발생시키기 위한 관절 토크를 계산하는 보행 로봇의 자세 제어 방법.
The method according to claim 1,
Measuring an actual rotation angle of the flywheel link;
Calculating an error between the measured actual rotation angle and the target rotation angle;
Further comprising calculating a moment to be compensated for balancing the robot using the calculated rotation angle error,
Calculating the joint torque,
And calculating the calculated compensation moment and the joint torque for generating the calculated compensation force.
제5항에 있어서,
상기 펠비스 링크의 실제 회전 각도를 측정하는 것은,
IMU를 이용하여 몸통의 기울어짐에 대한 요우 방향(Z축 주위의 회전), 피치 방향(Y축 주위의 회전), 롤 방향(X축 주위의 회전)의 회전 각도를 측정하는 보행 로봇의 자세 제어 방법.
6. The method of claim 5,
Measuring the actual rotation angle of the flywheel link may include:
The posture control of the walking robot that measures the yaw direction (rotation around the Z axis), the pitch direction (rotation around the Y axis) and the roll direction (rotation around the X axis) with respect to the tilt of the body using the IMU Way.
제5항에 있어서,
상기 각 다리에 대한 중력 보상 토크를 계산하는 것을 더 포함하고,
상기 관절 토크를 계산하는 것은,
상기 중력 보상 토크를 이용하여 상기 계산된 각 다리의 관절 토크를 보상하는 보행 로봇의 자세 제어 방법.
6. The method of claim 5,
Further comprising calculating a gravity compensation torque for each leg,
Calculating the joint torque,
And compensates for the calculated joint torque of each leg by using the gravity compensation torque.
제7항에 있어서,
상기 중력 보상 토크는 모든 족부 관절의 각도 q와 각 다리에 속한 모든 링크의 질량 및 무게중심의 위치와 상체의 총질량 및 무게중심 위치로부터 계산하는 보행 로봇의 자세 제어 방법.
8. The method of claim 7,
Wherein the gravity compensation torque is calculated from the angle q of all the foot joints, the positions of the mass and the center of gravity of all links belonging to each leg, the total mass of the upper body and the position of the center of gravity.
제7항에 있어서,
상기 각 다리에 대한 중력 보상 토크를 계산하는 것은,
상기 복수의 다리에 분배된 힘에 따라 상기 상체의 무게를 고려하여 중력 보상을 실시하는 보행 로봇의 자세 제어 방법.
8. The method of claim 7,
Calculating the gravity compensation torque for each leg,
And performing gravity compensation in consideration of the weight of the upper body according to a force distributed to the plurality of legs.
제7항에 있어서,
상기 각 다리에 대한 중력 보상 토크를 계산하는 것은,
상기 복수의 다리 상태에 따라 반대쪽 다리의 무게를 고려하여 중력 보상을 실시하는 보행 로봇의 자세 제어 방법.
8. The method of claim 7,
Calculating the gravity compensation torque for each leg,
And performing gravity compensation in consideration of the weight of the opposite leg according to the plurality of leg states.
제10항에 있어서,
상기 복수의 다리 상태는 상기 복수의 다리에 각각 마련된 발의 지면 접촉 여부에 따라 상기 상체를 지지하는 상태 또는 스윙하는 상태로 분리하는 보행 로봇의 자세 제어 방법.
11. The method of claim 10,
Wherein the plurality of legs are separated into a state supporting the upper body or a state swinging according to whether or not the feet provided on the respective legs are in contact with the ground.
제7항에 있어서,
상기 각 다리에 대한 댐핑 토크를 계산하는 것을 더 포함하고,
상기 관절 토크를 계산하는 것은,
상기 댐핑 토크를 이용하여 상기 계산된 각 다리의 관절 토크를 보상하는 보행 로봇의 자세 제어 방법.
8. The method of claim 7,
Further comprising calculating a damping torque for each leg,
Calculating the joint torque,
Wherein the calculated joint torque of each leg is compensated using the damping torque.
상체와, 상기 상체의 하측에 연결된 펠비스 링크와, 상기 펠비스 링크의 하측에 연결된 복수의 힙 관절부와, 상기 복수의 힙 관절부에 각각 연결된 복수의 다리와, 상기 복수의 다리에 각각 마련된 발을 구비한 보행 로봇에 있어서,
상기 로봇의 현재 무게중심의 위치를 계산하는 계산부;
상기 로봇의 목표 무게중심의 위치를 설정하는 설정부;
상기 설정된 목표 무게중심의 위치와 상기 계산된 현재 무게중심의 위치 간의 에러를 계산하고, 상기 계산된 무게중심 에러를 이용하여 상기 로봇의 균형을 잡기 위해 보상해야 하는 힘을 계산하고, 상기 계산된 보상 힘을 상기 복수의 다리에 분배하고, 상기 분배된 보상 힘에 따라 각 다리의 관절 토크를 계산하는 자세 제어부; 및
상기 계산된 관절 토크를 상기 각 다리의 관절에 전달하여 토크 서보 제어를 수행하는 서보 제어부를 포함하되,
상기 로봇의 균형을 잡기 위해 보상해야 하는 힘은, 상기 계산된 현재 무게중심의 위치와 상기 설정된 목표 무게중심의 위치 사이에 가상의 스프링이 존재할 때 상기 가상의 스프링의 상수와 상기 계산된 무게중심 에러의 곱으로 나타내는 보행 로봇.
A plurality of leg joints connected to a lower side of the Felis link, a plurality of legs respectively connected to the plurality of hip joint parts, and legs respectively provided to the legs, In the walking robot,
A calculation unit for calculating a position of the current center of gravity of the robot;
A setting unit for setting a position of a center of gravity of the robot;
Calculating an error between a position of the set target center of gravity and a position of the calculated current center of gravity, calculating a force to be compensated for balancing the robot using the calculated center-of-gravity error, A posture control unit for distributing a force to the plurality of legs and calculating a joint torque of each leg according to the distributed compensation force; And
And a servo control unit for performing torque servo control by transmitting the calculated joint torque to the joints of the legs,
A force to be compensated for balancing the robot is calculated by calculating a difference between a constant of the virtual spring and a calculated center-of-gravity error when there is a virtual spring between the calculated current center of gravity and the center of the set target center of gravity, Of the walking robot.
제13항에 있어서,
상기 자세 제어부는,
상기 로봇의 무게중심이 지면에 투영된 점과 상기 복수의 발 간의 거리 비율을 계산하고, 상기 계산된 거리 비율을 이용하여 상기 로봇의 무게중심이 상기 지면에 투영된 점으로부터 가까운 다리가 더 큰 값을 가지도록 상기 계산된 보상 힘을 상기 복수의 다리에 분배하는 보행 로봇.
14. The method of claim 13,
The posture control unit,
Calculating a ratio of a distance between a point at which the center of gravity of the robot is projected on the ground and a distance between the plurality of feet and calculating a distance between the point at which the center of gravity of the robot is projected on the ground and a bridge Wherein the compensating force is distributed to the plurality of legs.
제13항에 있어서,
상기 펠비스 링크의 실제 회전 각도를 측정하는 IMU를 더 포함하고,
상기 자세 제어부는,
상기 측정된 실제 회전 각도와 목표 회전 각도와의 에러를 계산하고, 상기 계산된 회전 각도 에러를 이용하여 상기 로봇의 균형을 잡기 위해 보상해야 하는 모멘트를 계산하는 보행 로봇.
14. The method of claim 13,
Further comprising an IMU measuring an actual rotation angle of the flywheel link,
The posture control unit,
Calculates an error between the measured actual rotation angle and a target rotation angle and calculates a moment to be compensated for balancing the robot using the calculated rotation angle error.
제15항에 있어서,
상기 자세 제어부는,
상기 계산된 보상 모멘트와 상기 계산된 보상 힘을 발생시키기 위한 관절 토크를 계산하여 상기 각 다리의 자세를 제어하는 보행 로봇.
16. The method of claim 15,
The posture control unit,
And calculates the joint torque to generate the calculated compensation moment and the calculated compensation force to control the posture of each leg.
제15항에 있어서,
상기 자세 제어부는,
상기 IMU를 이용하여 몸통의 기울어짐에 의한 상기 펠비스 링크의 롤 방향(roll, X축 주위의 회전), 피치 방향(pitch, Y축 주위의 회전), 요우 방향(yaw, Z축 주위의 회전)의 실제 회전 각도를 측정하는 보행 로봇.
16. The method of claim 15,
The posture control unit,
(Roll, rotation around the X axis), pitch direction (pitch, rotation about the Y axis), the yaw direction (yaw, rotation about the Z axis) by the tilting of the trunk by the IMU ) To measure the actual rotation angle of the robot.
제15항에 있어서,
상기 자세 제어부는, 상기 각 다리에 대한 중력 보상 토크를 계산하고, 상기 계산된 중력 보상 토크를 이용하여 상기 각 다리의 관절 토크를 보상하는 보행 로봇.
16. The method of claim 15,
Wherein the posture control unit calculates a gravity compensation torque for each of the legs and compensates for the joint torque of each leg using the calculated gravity compensation torque.
제18항에 있어서,
상기 자세 제어부는, 상기 각 다리에 대한 댐핑 토크를 계산하고, 상기 계산된 댐핑 토크를 이용하여 상기 각 다리의 관절 토크를 보상하는 보행 로봇.

19. The method of claim 18,
Wherein the posture control unit calculates a damping torque for each leg and compensates for the joint torque of each leg using the calculated damping torque.

KR1020170181896A 2017-12-28 2017-12-28 Walking robot and method for controlling balancing the same KR20180004397A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170181896A KR20180004397A (en) 2017-12-28 2017-12-28 Walking robot and method for controlling balancing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170181896A KR20180004397A (en) 2017-12-28 2017-12-28 Walking robot and method for controlling balancing the same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020100122157A Division KR20120060578A (en) 2010-12-02 2010-12-02 Walking robot and method for controlling balancing the same

Publications (1)

Publication Number Publication Date
KR20180004397A true KR20180004397A (en) 2018-01-11

Family

ID=61004244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170181896A KR20180004397A (en) 2017-12-28 2017-12-28 Walking robot and method for controlling balancing the same

Country Status (1)

Country Link
KR (1) KR20180004397A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200083259A (en) * 2018-12-29 2020-07-08 유비테크 로보틱스 코프 An inverse kinematics calculation method for mass center of humanoid robot
KR20230161262A (en) 2022-05-18 2023-11-27 주식회사 현대케피코 Gait Control Method and System of Walking Robot Using Microphone

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200083259A (en) * 2018-12-29 2020-07-08 유비테크 로보틱스 코프 An inverse kinematics calculation method for mass center of humanoid robot
KR20230161262A (en) 2022-05-18 2023-11-27 주식회사 현대케피코 Gait Control Method and System of Walking Robot Using Microphone

Similar Documents

Publication Publication Date Title
KR101778027B1 (en) Walking robot and method for controlling balancing the same
KR102044437B1 (en) Balancing control apparatus of robot and method for controlling the same
KR20120060578A (en) Walking robot and method for controlling balancing the same
KR101687631B1 (en) Walking control apparatus of robot and method for controlling the same
JP5991857B2 (en) Robot balance control apparatus and control method thereof
KR101004820B1 (en) Locomotion device, control method of locomotion device, robot device and operation control method of robot device
KR101953113B1 (en) Robot and control method thereof
US6505096B2 (en) Posture control system of legged mobile robot
KR101687630B1 (en) Walking robot and method for controlling balancing the same
KR101687628B1 (en) Walking control apparatus of robot and method for controlling the same
US5841258A (en) Remote control system for legged moving robot
US20130079929A1 (en) Robot and control method thereof
EP2343161A1 (en) Walking robot and method of controlling the same
KR20130095973A (en) Walking robot and control method thereof
KR20100086355A (en) Robot walking control apparatus and method thereof
KR20110084631A (en) Humanoid robot and walking control method thereof
KR20120024098A (en) Walking robot and control method thereof
WO2004033160A1 (en) Robot device operation control device and operation control method
KR20180004397A (en) Walking robot and method for controlling balancing the same
JP2002210681A (en) Motion control device and method for leg-type moving robot, and robot device
JP2004181613A (en) Robot device, device and method for controlling operation of legged locomotion robot, sensor system for legged locomotion robot, and moving body device
JP5232120B2 (en) Control device for moving body
JP3568527B2 (en) Mobile device
Wasielica et al. Active stabilization of a humanoid robot base on inertial measurement unit data

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment