KR20070072314A - Method for controlling pose of robot with using neural network, recording medium thereof, apparatus for controlling pose of robot with using neuron-network and robot therewith - Google Patents

Method for controlling pose of robot with using neural network, recording medium thereof, apparatus for controlling pose of robot with using neuron-network and robot therewith Download PDF

Info

Publication number
KR20070072314A
KR20070072314A KR1020060040506A KR20060040506A KR20070072314A KR 20070072314 A KR20070072314 A KR 20070072314A KR 1020060040506 A KR1020060040506 A KR 1020060040506A KR 20060040506 A KR20060040506 A KR 20060040506A KR 20070072314 A KR20070072314 A KR 20070072314A
Authority
KR
South Korea
Prior art keywords
balance point
robot
neural network
error
walking
Prior art date
Application number
KR1020060040506A
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 고려대학교 산학협력단
Publication of KR20070072314A publication Critical patent/KR20070072314A/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/081Touching devices, e.g. pressure-sensitive
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05FSYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
    • G05F1/00Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
    • G05F1/02Regulating electric characteristics of arcs
    • G05F1/08Regulating electric characteristics of arcs by means of semiconductor devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

A robot posture control method using a neural network, a recording medium thereof, a robot posture control apparatus using a neural network, and a robot having the apparatus are provided to allow the robot to stably walk even under a new environment or when a mechanical error exists. A robot posture control method using a neural network includes a step(1610) of measuring a balancing point by using the pressure applied to a pressure sensor during operation of a robot performed in accordance with a predetermined walking pattern value; a step(1620) of creating a balancing point error from the difference between the measured balance point and a pre-stored balancing point, and outputting the balancing point error to a predetermined neural network; a step(1630) of creating a joint angle adjustment value by assigning weight values of the neurons contained in the neural network to the balancing point error; a step(1640) of operating an actuator in accordance with the control signal obtained by summing the joint value adjustment value and the walking pattern value; and a step(1650) of varying the weight values by performing a back propagation algorithm in accordance with the balancing point error created during operation of the actuator.

Description

신경망을 이용하는 로봇의 자세 제어 방법 및 그 기록 매체, 신경망을 이용하는 로봇의 자세 제어 장치 및 그 장치를 구비한 로봇 {Method for controlling pose of robot with using neural network, Recording medium thereof, Apparatus for controlling pose of robot with using neuron-network and Robot therewith}Method for controlling pose of robot with using neural network and robot with same device {Method for controlling pose of robot with using neural network, Recording medium Technical, Apparatus for controlling pose of robot with using neuron-network and Robot therewith}

도 1은 본 발명이 적용되는 다층 퍼셉트론의 구조를 도시한 것이다.1 illustrates the structure of a multilayer perceptron to which the present invention is applied.

도 2는 도 1에서 하나의 뉴런 구조를 도시한 것이다.FIG. 2 illustrates one neuron structure in FIG. 1.

도 3은 도 1의 출력층 신경망 뉴런 k에 연결된 은닉층 뉴런 j를 도시한 것이다.3 illustrates a hidden layer neuron j connected to the output layer neural network neuron k of FIG. 1.

도 4는 본 발명이 적용되는 로봇의 조인트 및 링크 구조의 일 예를 도시한 것이다.Figure 4 shows an example of the joint and link structure of the robot to which the present invention is applied.

도 5는 도 4에 따라 구성한 이족 보행로봇의 일 예이다.5 is an example of a biped walking robot constructed according to FIG. 4.

도 6은 도 5의 기구 해석을 위한 좌표계 설정 과정을 도시한 것이다.FIG. 6 illustrates a process of setting a coordinate system for analyzing an instrument of FIG. 5.

도 7은 도 5의 시간에 따른 조인트 각도를 나타내는 그래프이다.FIG. 7 is a graph illustrating a joint angle over time of FIG. 5.

도 8은 도 5의 보행 수단의 일부에 부착된 센서를 도시한 것이다.FIG. 8 shows a sensor attached to a part of the walking means of FIG. 5.

도 9는 도 5의 로봇을 이용하여 측정한 균형점 경로를 나타내는 그래프이다.9 is a graph showing a balance point path measured using the robot of FIG. 5.

도 10은 도 5의 균형점을 중심으로 로봇을 개략적으로 도시한 것이다.FIG. 10 schematically illustrates a robot around the balance point of FIG. 5.

도 11은 본 발명의 일 실시예에 따른 2입력 및 2출력의 신경망의 구조를 도 시한 것이다.11 illustrates a structure of a neural network of two inputs and two outputs according to an embodiment of the present invention.

도 12는 본 발명에 따른 신경망을 이용하는 로봇의 자세 제어 장치의 블럭도이다.12 is a block diagram of a posture control device of a robot using a neural network according to the present invention.

도 13은 도 12의 자세 제어 장치를 구비한 로봇의 블럭도이다.FIG. 13 is a block diagram of a robot including the posture control device of FIG. 12.

도 14는 도 13에서 학습에 따른 에러의 수렴 과정을 나타내는 그래프이다.FIG. 14 is a graph illustrating a convergence process of an error according to learning in FIG. 13.

도 15는 본 발명의 다른 실시예에 따른 시스템 구성도이다.15 is a system configuration diagram according to another embodiment of the present invention.

도 16은 본 발명에 따른 신경망을 이용하는 로봇의 자세 제어 방법의 흐름도이다.16 is a flowchart of a method for controlling a posture of a robot using a neural network according to the present invention.

도 17은 본 발명의 또다른 실시예에 따른 로봇의 평지 보행을 도시한 것이다.Figure 17 shows the flat walking of the robot according to another embodiment of the present invention.

도 18은 도 17의 평지 보행에서의 균형점 경로를 나타내는 그래프이다.FIG. 18 is a graph showing a balance point path in the flat walk of FIG. 17.

도 19는 도 17의 평지 보행에서의 균형점 오차를 나타내는 그래프이다. FIG. 19 is a graph illustrating a balance point error in the flat walking of FIG. 17.

도 20은 본 발명의 또다른 실시예에 따른 로봇의 +10°의 오르막 경사면 보행을 도시한 것이다.20 illustrates an uphill slope walk of + 10 ° of a robot in accordance with another embodiment of the present invention.

도 21은 도 20의 오르막 보행에서의 균형점 경로를 나타내는 그래프이다.FIG. 21 is a graph illustrating a balance point path in the uphill walk of FIG. 20.

도 22는 도 20의 오르막 보행에서의 균형점 오차를 나타내는 그래프이다.22 is a graph illustrating a balance point error in the uphill walk of FIG. 20.

도 23은 본 발명의 또다른 실시예에 따른 로봇의 -10°의 내리막 경사면 보행을 도시한 것이다.Figure 23 illustrates a downhill slope walk of -10 ° of the robot according to another embodiment of the present invention.

도 24는 도 23의 내리막 보행에서의 균형점 경로를 나타내는 그래프이다.24 is a graph illustrating a balance point path in the downhill walking of FIG. 23.

도 25는 도 23의 내리막 보행에서의 균형점 오차를 나타내는 그래프이다.FIG. 25 is a graph illustrating a balance point error in downhill walking in FIG. 23.

도 26은 본 발명의 또다른 실시예에 따른 로봇의 10°의 측방향 경사면 보행을 도시한 것이다.Figure 26 illustrates a 10 ° lateral inclined walk of the robot according to another embodiment of the present invention.

도 27은 도 26의 측방향 경사면 보행에서의 균형점 경로를 나타내는 그래프이다.FIG. 27 is a graph illustrating a balance point path in the lateral slope walking of FIG. 26.

도 28은 도 26의 측방향 경사면 보행에서의 균형점 오차를 나타내는 그래프이다.FIG. 28 is a graph illustrating a balance point error in the lateral slope walking of FIG. 26.

본 발명은 로봇 제어에 관한 것으로, 특히, 신경망을 이용하는 로봇의 자세 제어 방법 및 그 기록 매체, 신경망을 이용하는 로봇의 자세 제어 장치 및 그 장치를 구비한 로봇에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to robot control, and more particularly, to a posture control method for a robot using a neural network, a recording medium thereof, a posture control device for a robot using a neural network, and a robot having the device.

이족 보행로봇은 인간 생활환경에 적용이 용이하며 계단이나 문턱과 같은 거친 지면에서도 이동이 가능한 장점이 있다. 1960년대 후반 Vukobratovic이 인간형 이족 보행로봇에 관한 모델링을 처음 제시한 이후, 이족 보행로봇에 관한 많은 이론적 혹은 실험적 연구들이 수행되어져 왔다. 1998년에는 일본의 혼다 사에서 인간형 이족 보행로봇 P3가 발표되었으며 이는 산업 및 인간 생활에서의 이족 보행로봇의 활용 가능성을 입증하였다. 이처럼 이족 보행로봇은 높은 자유도로 인해 다양한 일을 수행할 수 있으며, 엔터테인먼트 로봇, 인력 보조 로봇, 서비스 로봇 등 많은 분야에서 활용되고 있다. 그러나 이족 보행로봇은 높은 자유도와 직렬형 링크 구조 로 인해 안정도 해석과 제어가 어려운 점이 있으며 이는 로봇을 제작하는데 있어 난점이다.The biped walking robot is easy to apply to the human living environment and has the advantage of being able to move on rough ground such as stairs or thresholds. Since Vukobratovic first proposed modeling humanoid biped robots in the late 1960s, many theoretical and experimental studies on biped robots have been conducted. In 1998, the Japanese humanoid biped robot P3 was released by Honda, Japan, demonstrating the feasibility of biped robots in industrial and human life. As described above, the biped walking robot can perform various tasks due to its high degree of freedom, and is used in many fields such as entertainment robots, human assistance robots, and service robots. However, biped walking robot is difficult to analyze and control stability due to the high degree of freedom and the serial link structure, which is a difficulty in manufacturing the robot.

최근의 이족 보행로봇의 안정도를 개선하기 위한 연구는 최적 보행 패턴의 생성이나 자세 제어를 중심으로 진행되었다. 그러나 보행 패턴의 생성은 시뮬레이션에 한정되어 있기 때문에 실제 로봇에 적용하기에는 한계가 있다. 또한 동역학적인 해석에 의한 자세 제어는 로봇의 기구적인 오차를 고려하지 않기 때문에 오차가 적은 고가의 부품을 필요로 한다.Recently, researches to improve the stability of biped robots focused on the generation of optimal walking patterns or posture control. However, since the generation of the walking pattern is limited to the simulation, there is a limit to applying it to a real robot. In addition, posture control by dynamic analysis does not take into account the mechanical error of the robot, and therefore requires expensive parts with few errors.

따라서, 종래 로봇의 자세 제어 방법은 보행 자세의 안정도를 유지하기 어렵고, 기구적인 오차가 있을 경우 로봇의 안정도의 저하를 방지할 수 없으며, 이에 따른 로봇의 제작 난이도가 높고, 높은 가격의 액추에이터나 부품을 필요로 하여 로봇의 제작 기간이나 제작비용이 증가되는 문제점이 있다.Therefore, the attitude control method of the conventional robot is difficult to maintain the stability of the walking posture, and if there is a mechanical error, it is not possible to prevent the deterioration of the stability of the robot. There is a problem in that the production period or manufacturing cost of the robot is increased.

따라서, 본 발명이 이루고자 하는 첫번째 기술적 과제는 새로운 환경이나 기구적인 오차가 있어도 안정적인 보행을 구현할 수 있으며, 로봇의 제작 난이도를 줄일 수 있고, 로봇의 제작 기간이나 제작비용을 절감할 수 있는 신경망을 이용하는 로봇의 자세 제어 방법을 제공하는데 있다.Therefore, the first technical problem to be achieved by the present invention is to implement a stable walking even in a new environment or mechanical error, to reduce the manufacturing difficulty of the robot, using a neural network that can reduce the production period or production cost of the robot It is to provide a method for controlling the attitude of the robot.

본 발명이 이루고자 하는 두번째 기술적 과제는 상기의 신경망을 이용하는 로봇의 자세 제어 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.A second technical object of the present invention is to provide a computer-readable recording medium having recorded thereon a program for executing a method for controlling the attitude of a robot using the neural network.

본 발명이 이루고자 하는 세번째 기술적 과제는 상기의 신경망을 이용하는 로봇의 자세 제어 방법이 적용된 신경망을 이용하는 로봇의 자세 제어 장치를 제공하는데 있다.The third technical problem to be achieved by the present invention is to provide a posture control apparatus for a robot using a neural network to which the posture control method of the robot using the neural network is applied.

본 발명이 이루고자 하는 네번째 기술적 과제는 상기의 신경망을 이용하는 로봇의 자세 제어 장치를 구비한 로봇을 제공하는데 있다.A fourth technical object of the present invention is to provide a robot having a posture control device for a robot using the neural network described above.

상기의 첫번째 기술적 과제를 달성하기 위하여, 본 발명은 소정의 보행 패턴값에 따른 로봇의 동작 중 압력 센서로 인가되는 압력을 이용하여 균형점을 측정하는 단계, 상기 측정된 균형점과 미리 저장된 균형점 사이의 차인 균형점 오차를 생성하여 소정의 신경망에 출력하는 단계, 상기 신경망에 포함된 복수 뉴런들의 가중치들을 상기 균형점 오차에 부여하여 조인트각 조정값을 생성하는 단계, 상기 조인트각 조정값 및 상기 보행 패턴값을 합산한 제어 신호에 따라 액추에이터를 동작시키는 단계 및 상기 액추에이터 동작 중 생성된 균형점 오차에 따라 역전파 알고리즘을 수행하여 상기 가중치들을 변경시키는 단계를 포함하는 신경망을 이용하는 로봇의 자세 제어 방법을 제공한다.In order to achieve the first technical problem, the present invention is a step of measuring the balance point using the pressure applied to the pressure sensor during the operation of the robot according to a predetermined walking pattern value, the difference between the measured balance point and the pre-stored balance point Generating a balance point error and outputting the result to a predetermined neural network, generating a joint angle adjustment value by assigning weights of a plurality of neurons included in the neural network to the balance point error, adding the joint angle adjustment value and the walking pattern value A method of controlling a posture of a robot using a neural network includes operating an actuator according to a control signal and performing a backpropagation algorithm according to a balance point error generated during the actuator operation to change the weights.

상기의 두번째 기술적 과제를 달성하기 위하여, 본 발명은 상기의 신경망을 이용하는 로봇의 자세 제어 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In order to achieve the second technical problem described above, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the method of controlling the attitude of a robot using the neural network.

상기의 세번째 기술적 과제를 달성하기 위하여, 본 발명은 소정의 보행 패턴값을 저장하는 보행패턴 테이블, 인가되는 압력에 대응하는 전기적인 센서 신호를 생성하는 복수의 압력 센서, 상기 센서 신호를 이용하여 균형점을 연산하는 균형점 연산부, 상기 연산된 균형점과 미리 저장된 소정의 균형점 사이의 차인 균형점 오차를 생성하는 오차 생성부 및 복수 뉴런들의 가중치들을 상기 균형점 오차에 부여하여 조인트각 조정값을 생성하고 상기 조인트각 조정값 및 상기 보행 패턴값을 합산한 제어 신호에 따라 액추에이터를 동작시키고, 상기 액추에이터 동작 중 생성된 균형점 오차에 따라 역전파 알고리즘을 수행하여 상기 가중치들을 변경시키는 신경망을 포함하는 신경망을 이용하는 로봇의 자세 제어 장치를 제공한다.In order to achieve the third technical problem, the present invention provides a walking pattern table for storing a predetermined walking pattern value, a plurality of pressure sensors for generating an electrical sensor signal corresponding to an applied pressure, and a balance point using the sensor signal. A balance point calculator for calculating a balance point, an error generator for generating a balance point error that is a difference between the calculated balance point and a predetermined balance point, and assigning weights of a plurality of neurons to the balance point error to generate a joint angle adjustment value and adjusting the joint angle Posture control of a robot using a neural network including a neural network for operating the actuator according to a control signal obtained by adding a value and the walking pattern value, and performing a backpropagation algorithm to change the weights according to a balance point error generated during the actuator operation. Provide the device.

상기의 네번째 기술적 과제를 달성하기 위하여, 본 발명은 소정의 보행 패턴값을 저장하는 보행패턴 테이블, 보행 수단의 일부에 부착되어 인가되는 압력에 대응하는 전기적인 센서 신호를 생성하는 복수의 압력 센서, 상기 센서 신호를 이용하여 균형점을 연산하는 균형점 연산부, 상기 연산된 균형점과 미리 저장된 소정의 균형점 사이의 차인 균형점 오차를 생성하는 오차 생성부, 복수 뉴런들의 가중치들을 상기 균형점 오차에 부여하여 조인트각 조정값을 생성하고 상기 조인트각 조정값 및 상기 보행 패턴값을 합산한 제어 신호에 따라 액추에이터를 동작시키고, 상기 액추에이터 동작 중 생성된 균형점 오차에 따라 역전파 알고리즘을 수행하여 상기 가중치들을 변경시키는 신경망 및 상기 제어 신호에 따라 상기 보행 수단을 동작시키는 복수의 액추에이터를 포함하는 신경망을 이용하는 자세 제어 장치를 구비한 로봇을 제공한다.In order to achieve the fourth technical problem, the present invention provides a walking pattern table for storing a predetermined walking pattern value, a plurality of pressure sensors for generating an electrical sensor signal corresponding to a pressure applied to a part of the walking means, A balance point calculator for calculating a balance point using the sensor signal, an error generator for generating a balance point error that is a difference between the calculated balance point and a predetermined balance point, and a joint angle adjustment value by giving weights of a plurality of neurons to the balance point error. And operating the actuator according to a control signal obtained by adding the joint angle adjustment value and the walking pattern value, and performing a back propagation algorithm according to the balance point error generated during the actuator operation to change the weights and the control. A plurality of operating the walking means in accordance with the signal It provides a robot having a posture control device using a neural network comprising a weight initiator.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다.Hereinafter, with reference to the drawings will be described a preferred embodiment of the present invention. However, embodiments of the present invention illustrated below may be modified in many different forms, and the scope of the present invention is not limited to the embodiments described below.

본 발명에 이용되는 신경망은 다층 퍼셉트론으로서 입력층, 은닉층, 출력층으로 이루어진다.The neural network used in the present invention is a multilayer perceptron and is composed of an input layer, a hidden layer, and an output layer.

도 1은 본 발명이 적용되는 다층 퍼셉트론의 구조를 도시한 것이다. 여기서 회색의 원은 뉴런을 뜻하며 같은 열에 있는 뉴런들은 하나의 층을 이룬다. 1 illustrates the structure of a multilayer perceptron to which the present invention is applied. Here, the gray circle means neurons, and neurons in the same row form a layer.

도 2는 도 1에서 하나의 뉴런 구조를 도시한 것이다. 각 뉴런에서는 다음의 수학식 1과 같은 연산이 수행된다.FIG. 2 illustrates one neuron structure in FIG. 1. In each neuron, an operation as shown in Equation 1 below is performed.

Figure 112006031751366-PAT00001
Figure 112006031751366-PAT00001

Figure 112006031751366-PAT00002
Figure 112006031751366-PAT00002

각 뉴런에서는 입력과 가중치를 곱한 값을 합산한 결과에 바이어스 b를 더한다. 이 값을 활성 함수인

Figure 112006031751366-PAT00003
를 거친 결과가 그 뉴런의 출력이 된다. 이러한 과정은 같은 층 내에서는 모든 뉴런에 동시에 일어나게 되며 입력층에 가까운 층에서부터 순서대로 출력층 쪽으로 진행된다. 이러한 과정을 통해 입력으로부터 출력을 구한다.Each neuron adds a bias, b, to the sum of the product multiplied by the input. This value is the active function
Figure 112006031751366-PAT00003
The result is the output of the neuron. This process occurs simultaneously in all neurons within the same layer and proceeds in order from the layer closest to the input layer to the output layer. This process gets the output from the input.

신경망에 어떠한 값이 입력되었을 때 원하는 출력을 얻을 수 있도록 하는 과정을 신경망의 학습이라 한다. 이러한 학습 과정은 각 뉴런 사이의 가중치의 크기를 조정하는 과정을 통해서 이루어진다. 가중치를 조정하는 가장 대표적인 알고리즘으로는 역전파 알고리즘(Back-propagation algorithm)이 있다. 역전파 알고리즘 은 신경망의 출력과 원하는 출력과의 차이를 이용해 신경망 출력의 반대 방향으로 진행하면서 가중치를 조절한다. 도 2에서와 같이 n번째 학습 과정중 출력층 뉴런 j에서의 출력

Figure 112006031751366-PAT00004
은 수학식 2와 같다.The process of getting the desired output when a value is entered into the neural network is called neural network learning. This learning process is achieved by adjusting the magnitude of the weight between each neuron. The most representative algorithm for adjusting the weight is a back-propagation algorithm. The backpropagation algorithm uses the difference between the output of the neural network and the desired output to adjust the weight as it progresses in the opposite direction of the neural network output. Output from the output layer neuron j during the nth learning process as shown in FIG.
Figure 112006031751366-PAT00004
Is the same as Equation 2.

Figure 112006031751366-PAT00005
Figure 112006031751366-PAT00005

여기서

Figure 112006031751366-PAT00006
Figure 112006031751366-PAT00007
으로 나타낼 수 있다. 여기서 출력층 뉴런 j의 오차는 다음의 수학식 3과 같이 나타낼 수 있다.here
Figure 112006031751366-PAT00006
Is
Figure 112006031751366-PAT00007
It can be represented as Here, the error of the output layer neuron j can be expressed as Equation 3 below.

Figure 112006031751366-PAT00008
Figure 112006031751366-PAT00008

도 3은 도 1의 출력층 신경망 뉴런 k에 연결된 은닉층 뉴런 j를 도시한 것이다. 3 illustrates a hidden layer neuron j connected to the output layer neural network neuron k of FIG. 1.

출력층의 모든 뉴런의 오차의 에너지

Figure 112006031751366-PAT00009
는 다음의 수학식 4와 같이 각 뉴런에서의 오차의 제곱의 합으로 나타낼 수 있다.Energy of error of all neurons in the output layer
Figure 112006031751366-PAT00009
Can be expressed as the sum of squares of errors in each neuron as shown in Equation 4 below.

Figure 112006031751366-PAT00010
Figure 112006031751366-PAT00010

역전파 알고리즘의 목적은 오차의 에너지를 최소화 하는데 있다. 오차의 에 너지를 최소화하기 위해 조정해야 하는 가중치 값

Figure 112006031751366-PAT00011
은 부분적분
Figure 112006031751366-PAT00012
에 비례한다. 연쇄법칙에 의해서 이 값은 다음의 수학식 5와 같이 나타낼 수 있다.The purpose of the backpropagation algorithm is to minimize the energy of the error. Weight values that need to be adjusted to minimize the energy of the error
Figure 112006031751366-PAT00011
Silver partial integration
Figure 112006031751366-PAT00012
Proportional to By the chain law, this value can be expressed as Equation 5 below.

Figure 112006031751366-PAT00013
Figure 112006031751366-PAT00013

또한, 수학식 5의 양변을

Figure 112006031751366-PAT00014
에 대해 미분하면 다음의 수학식 6을 얻을 수 있다.In addition, both sides of the equation (5)
Figure 112006031751366-PAT00014
By differentiating with respect to Equation 6,

Figure 112006031751366-PAT00015
Figure 112006031751366-PAT00015

또한, 수학식 4의 양변을

Figure 112006031751366-PAT00016
에 대해 미분하면 다음의 수학식 7을 얻을 수 있다.In addition, both sides of the equation (4)
Figure 112006031751366-PAT00016
By differentiating with respect to Equation 7 below.

Figure 112006031751366-PAT00017
Figure 112006031751366-PAT00017

수학식 2의 양변을

Figure 112006031751366-PAT00018
에 대해 미분하면 다음의 수학식 8을 얻을 수 있다.Both sides of equation (2)
Figure 112006031751366-PAT00018
By differentiating with respect to Equation 8,

Figure 112006031751366-PAT00019
Figure 112006031751366-PAT00019

또한,

Figure 112006031751366-PAT00020
Figure 112006031751366-PAT00021
에 대해 미분하면 다음의 수학식 9를 얻을 수 있다.Also,
Figure 112006031751366-PAT00020
To
Figure 112006031751366-PAT00021
By differentiating with respect to Equation 9,

Figure 112006031751366-PAT00022
Figure 112006031751366-PAT00022

또한, 수학식 6, 수학식 9를 수학식 5에 대입하면 다음의 수학식 10을 얻을 수 있다.Further, by substituting Equations 6 and 9 into Equation 5, the following Equation 10 can be obtained.

Figure 112006031751366-PAT00023
Figure 112006031751366-PAT00023

결국 가중치의 수정값

Figure 112006031751366-PAT00024
은 델타 규칙에 의해 다음의 수학식 11로 주어진다.The correction value of the weight
Figure 112006031751366-PAT00024
Is given by Equation 11 below by the delta rule.

Figure 112006031751366-PAT00025
Figure 112006031751366-PAT00025

여기서

Figure 112006031751366-PAT00026
는 역전파 알고리즘의 학습률이다. 이 식은 다음의 수학식 12와 같이 정리하여 쓸 수 있다.here
Figure 112006031751366-PAT00026
Is the learning rate of the backpropagation algorithm. This equation can be written as Equation 12 below.

Figure 112006031751366-PAT00027
Figure 112006031751366-PAT00027

이와 같이 쓸 수 있으며 여기서

Figure 112006031751366-PAT00028
은 로컬 경도(local gradient)이다. 수학식 10에서
Figure 112006031751366-PAT00029
Figure 112006031751366-PAT00030
은 신경망의 출력을 통해 이미 얻어진 값이며 활성함수의 미분값인
Figure 112006031751366-PAT00031
또한, 활성함수를 로그 함수(logistic function)나 쌍곡 탄젠트 함수(hyperbolic tangent function)를 사용하면 신경망의 출력으로부터 쉽게 구할 수 있다. 일 예로서, 쌍곡 탄젠트 함수(hyperbolic tangent function)를 사용하면 이는 다음의 수학식 13과 같이 정의된다.You can write it like this, where
Figure 112006031751366-PAT00028
Is the local gradient. In equation (10)
Figure 112006031751366-PAT00029
and
Figure 112006031751366-PAT00030
Is the value already obtained through the output of the neural network and is the derivative of the active function
Figure 112006031751366-PAT00031
In addition, the activation function can be easily obtained from the output of the neural network by using a logistic function or a hyperbolic tangent function. As an example, using a hyperbolic tangent function, it is defined as in Equation 13 below.

Figure 112006031751366-PAT00032
Figure 112006031751366-PAT00032

여기서 a와 b는 상수이다. 수학식 13을

Figure 112006031751366-PAT00033
에 대해 미분하면 다음의 수학식 14를 얻을 수 있다.Where a and b are constants. Equation 13
Figure 112006031751366-PAT00033
By differentiating with respect to Equation 14,

Figure 112006031751366-PAT00034
Figure 112006031751366-PAT00034

이는 신경망의 출력

Figure 112006031751366-PAT00035
으로부터 곧바로 구할 수 있다.This is the output of neural networks
Figure 112006031751366-PAT00035
Available immediately from.

만약 뉴런 j가 은닉층의 뉴런이라면 뉴런 j에 대한 원하는 출력이 존재하지 않으므로 출력층의 뉴런과 같은 방법으로 가중치를 조절할 수 없다. 즉, 은닉층에서의 로컬 경도(local gradient)는 다음의 수학식 15와 같이 다시 정의할 수 있다.If neuron j is a neuron in the hidden layer, the desired output for neuron j does not exist and thus weight cannot be adjusted in the same way as neurons in the output layer. That is, the local gradient in the hidden layer can be redefined as in Equation 15 below.

Figure 112006031751366-PAT00036
Figure 112006031751366-PAT00036

여기서 부분적분

Figure 112006031751366-PAT00037
의 값을 구하기 위해 도 3과 같이 출력층 뉴런 k에 연결된 은닉층 뉴런 j가 있다고 할 때, 다음의 수학식 16을 얻을 수 있다.Where partial integration
Figure 112006031751366-PAT00037
In order to calculate the value of, as shown in FIG. 3, there is a hidden layer neuron j connected to the output layer neuron k.

Figure 112006031751366-PAT00038
Figure 112006031751366-PAT00038

앞에서와는 달리 출력층 뉴런의 인덱스를 j대신 k라고 하였으며 이는 j뉴런이 출력층이나 은닉층에 관계없이 일반화된 식을 이끌어내기 위함이다. 수학식 16의 양변을

Figure 112006031751366-PAT00039
에 대해 편미분하면 다음의 수학식 17을 얻을 수 있다.Unlike before, the index of the output layer neurons is called k instead of j, so that the j neurons derive a generalized expression regardless of the output layer or the hidden layer. Both sides of equation (16)
Figure 112006031751366-PAT00039
By partial differential for, the following equation (17) can be obtained.

Figure 112006031751366-PAT00040
Figure 112006031751366-PAT00040

수학식 17의

Figure 112006031751366-PAT00041
부분에 연쇄법칙을 적용하면 다음의 식을 얻을 수 있다. 즉,
Figure 112006031751366-PAT00042
이다. 또한, 도 3에서 뉴런 k에서의 에러는
Figure 112006031751366-PAT00043
이며, 이로부터 다음의 수학식 18을 얻을 수 있다.Of equation (17)
Figure 112006031751366-PAT00041
Applying the chain rule to the part gives the following equation. In other words,
Figure 112006031751366-PAT00042
to be. In addition, the error in neuron k in FIG.
Figure 112006031751366-PAT00043
From this, the following equation (18) can be obtained.

Figure 112006031751366-PAT00044
Figure 112006031751366-PAT00044

또한, 도 3으로부터

Figure 112006031751366-PAT00045
Figure 112006031751366-PAT00046
으로 구할 수 있다. 여기서 m은 바이어스를 제외한 뉴런 k로의 입력의 개수이다. 이 식을
Figure 112006031751366-PAT00047
에 대해 미분하면 다음의 수학식 19를 얻을 수 있다.Also, from FIG. 3
Figure 112006031751366-PAT00045
silver
Figure 112006031751366-PAT00046
You can get it by Where m is the number of inputs to neuron k excluding bias. This expression
Figure 112006031751366-PAT00047
By differentiating with respect to Equation 19,

Figure 112006031751366-PAT00048
Figure 112006031751366-PAT00048

수학식 19와 수학식 15를 이용하여 은닉층에서의 로컬 경도(local gradient)를 다음의 수학식 20과 같이 구할 수있다.Using local equations (19) and (15), a local gradient in the hidden layer can be obtained as shown in Equation 20 below.

Figure 112006031751366-PAT00049
Figure 112006031751366-PAT00049

이렇게 구해진 출력층과 은닉층에서의 로컬 경도(local gradient)를 이용하여 일반화된 델타 규칙은 다음의 수학식 21과 같이 쓸 수 있다.The delta rule generalized using the local gradient in the output layer and the hidden layer thus obtained can be written as Equation 21 below.

Figure 112006031751366-PAT00050
Figure 112006031751366-PAT00050

본 발명에서는 신경망을 이용한 제어기를 구성하고 이러한 과정을 통해 신경망을 학습하여 로봇의 자세 제어를 구현한다. 신경망은 로봇의 자세에 따른 안정도의 관계를 학습하고 이를 이용하여 로봇의 안정도를 개선하기 위해서 로봇의 자세를 어떠한 방향으로 수정해야 할지를 결정한다.In the present invention, a controller using a neural network is configured and the neural network is learned through this process to implement the attitude control of the robot. The neural network learns the relationship of stability according to the robot's posture and uses it to decide which direction the robot's posture should be modified to improve the stability of the robot.

이하에서 로봇이 이족 보행을 하는 것으로 가정한다. 즉, 보행 수단을 2개의 발로 가정한다.In the following, it is assumed that the robot is bipedal. In other words, the walking means is assumed to be two feet.

도 4는 본 발명이 적용되는 로봇의 조인트 및 링크 구조의 일 예를 도시한 것이다.Figure 4 shows an example of the joint and link structure of the robot to which the present invention is applied.

이때, 회전축은 원통형으로 표시했으며, 링크는 굵은 선으로 표시한다. 로봇은 전체 19자유도로 구성되어 있으며, 하체는 12자유도, 상체는 7자유도로 구성되어 있다. 상체는 보행 이외의 동작을 구현하기 위해 제작하였으며 하체의 조인트만을 고려한다. 로봇의 한쪽 다리는 골반에 3자유도와 무릎의 1자유도, 발목의 2자유 도로서 전형적인 이족 보행로봇의 구조를 갖는다. 로봇의 무릎은 뒤로 구부러져 있는 형태로 일반적인 인간형 보행로봇이 아닌 조족형 보행로봇의 형태를 갖는다. 이것은 단순히 형태의 차이일 뿐 보행의 특성이나 제작의 난이도에 큰 차이는 없다. At this time, the axis of rotation is represented by a cylinder, the link is represented by a thick line. The robot consists of 19 degrees of freedom, the lower body has 12 degrees of freedom, and the upper body has 7 degrees of freedom. The upper body is designed to implement motions other than walking and only the lower body joint is considered. One leg of the robot has the structure of a typical biped walking robot with three degrees of freedom in the pelvis, one degree of freedom in the knee, and two degrees of freedom in the ankle. The knees of the robot are bent backwards and take the form of a tide type walking robot rather than a general humanoid walking robot. This is simply a difference in form, there is no significant difference in the characteristics of walking or difficulty of production.

각 조인트의 회전축은 서로 수직관계에 있으며 이는 기구학적으로 간단하도록 하여 해석을 쉽게 하기 위함이다.The axis of rotation of each joint is perpendicular to each other in order to simplify the kinematics and make the analysis easier.

도 5는 도 4에 따라 구성한 이족 보행로봇의 일 예이다.5 is an example of a biped walking robot constructed according to FIG. 4.

도 5에서 로봇에 사용된 액추에이터는 RC 서보모터이다. RC 서보모터는 내부에 DC 모터와 감속기어, 제어기가 내장되어 있어서 모터를 구동하기 위한 별도의 회로나 드라이버가 필요 없다. 전원과 제어 신호만 인가하면 손쉽게 구동이 가능하기 때문에 로봇의 제작 시간과 노력을 크게 줄일 수 있는 장점이 있다. 그러나 외부에서 가해지는 부하에 의해 약간의 변형이 생길 수 있으며 각도를 제어할 수는 있지만 각속도와 각 가속도를 정확히 제어할 수 없는 단점이 있다. 이러한 액추에이터 제어에서의 불확실한 특성을 보완하기 위해 로봇의 안정도를 개선하기 위한 제어가 필요하다.The actuator used in the robot in FIG. 5 is an RC servomotor. The RC servomotor has a built-in DC motor, reduction gear and controller, so there is no need for a separate circuit or driver to drive the motor. It can be easily driven by applying power and control signals, which has the advantage of greatly reducing the manufacturing time and effort of the robot. However, a slight deformation may occur due to the external load and the angle can be controlled, but the angular velocity and the angular acceleration cannot be controlled accurately. To compensate for the uncertainty in the actuator control, a control is needed to improve the stability of the robot.

도 6은 도 5의 기구 해석을 위한 좌표계 설정 과정을 도시한 것이다.FIG. 6 illustrates a process of setting a coordinate system for analyzing an instrument of FIG. 5.

도 6은 제작된 로봇의 기구 해석을 위해 한쪽 다리에 대해 좌표계를 설정한 모습이다. 또한 제작된 로봇의 크기에 맞게 링크의 길이를 나타내었으며 단위는 mm이다. 또한, 도 6을 이용해 얻어낸 D-H 파라미터는 아래 표 1은 제작된 로봇의 각 좌표계 사이의 D-H 파라미터를 나타낸다.Figure 6 is a state in which the coordinate system is set for one leg for the instrument analysis of the manufactured robot. In addition, the length of the link was shown according to the size of the fabricated robot, and the unit is mm. In addition, the D-H parameter obtained using FIG. 6 shows the D-H parameter between each coordinate system of the produced robot.

좌표계Coordinate system

Figure 112006031751366-PAT00051
Figure 112006031751366-PAT00051
aa dd
Figure 112006031751366-PAT00052
Figure 112006031751366-PAT00052
0-10-1 00 -26.25-26.25 00
Figure 112006031751366-PAT00053
Figure 112006031751366-PAT00053
1-21-2 9090 00 00
Figure 112006031751366-PAT00054
Figure 112006031751366-PAT00054
2-32-3 -90-90 -45-45 00
Figure 112006031751366-PAT00055
Figure 112006031751366-PAT00055
3-43-4 00 -60-60 00
Figure 112006031751366-PAT00056
Figure 112006031751366-PAT00056
4-54-5 00 -51-51 00
Figure 112006031751366-PAT00057
Figure 112006031751366-PAT00057
5-65-6 9090 -35.5-35.5 00
Figure 112006031751366-PAT00058
Figure 112006031751366-PAT00058

표 1의 각 좌표계 사이의 D-H 파라미터식은 표 1의 D-H 파라미터를 이용해 얻어진 좌표계 사이의 변환 행렬을 나타낸다. 여기서

Figure 112006031751366-PAT00059
Figure 112006031751366-PAT00060
로,
Figure 112006031751366-PAT00061
Figure 112006031751366-PAT00062
로 줄여서 나타낸다. 이렇게 얻어진 변환 행렬과 수치적인 방법을 이용하여 로봇의 보행 패턴을 만들어 낸다. 로봇의 보행 패턴은 시간에 따른 로봇 각 부위의 이동 경로를 설정하고 이러한 경로에 따른 조인트들의 각도값을 구함으로써 구할 수 있다. 로봇이 보행을 하기 위해서는 발을 들어 올려서 보폭만큼 앞으로 내딛는 동작 및 앞으로 내딛은 발을 뒤로 밀어서 로봇이 앞으로 나아가는 동작이 필요하다.The DH parameter expression between each coordinate system of Table 1 shows the transformation matrix between the coordinate systems obtained using the DH parameter of Table 1. here
Figure 112006031751366-PAT00059
Is
Figure 112006031751366-PAT00060
in,
Figure 112006031751366-PAT00061
Is
Figure 112006031751366-PAT00062
Abbreviated as Using the transformation matrix and the numerical method thus obtained, a walking pattern of the robot is generated. The walking pattern of the robot can be obtained by setting a moving path of each part of the robot over time and obtaining angle values of joints along the path. In order for the robot to walk, it is necessary to move the foot forward by stride length and push the foot forward to move forward.

이 외에도 단순히 좌우 무게중심 이동을 위한 골반과 발목의 요우(yaw)에 해당하는 조인트인

Figure 112006031751366-PAT00063
Figure 112006031751366-PAT00064
은 단순한 연산에 의해 구할 수 있으므로 기구학을 사용하지 않는다.In addition, it is simply a joint corresponding to the yaw of the pelvis and ankle
Figure 112006031751366-PAT00063
Wow
Figure 112006031751366-PAT00064
Does not use kinematics because it can be obtained by a simple operation.

발을 들어 올려서 보폭만큼 앞으로 내딛는 동작에 대해, 역기구학을 이용해 발의 위치에 따른 관절의 각도를 구함으로써 로봇이 한 발을 내딛는 동안의 보행패턴을 구할 수 있다.With respect to the movement of the foot by stepping forward, the inverse kinematics calculates the angle of the joint according to the position of the foot.

로봇의 발끝이 움직이는 과정은 다음과 같다. 먼저, 가속을 하면서 발을 들어 올린다. 다음, 1/4원 모양의 궤적을 따라 등속도로 진행 방향을 정면으로 바꾼다. 다음, 등속도로 정면으로 나아간다. 다음, 1/4원 모양의 궤적을 따라 등속도로 진행 방향을 아래로 내린다. 마지막으로, 감속을 하면서 지면에 접촉한다.The process of moving the tip of the robot is as follows. First, lift your feet while accelerating. Next, change the direction of travel forward at an equal velocity along the quarter-shaped trajectory. Next, head forward at the same speed. Next, along the quarter-shaped trajectory, the direction of travel is lowered at constant velocity. Finally, decelerate and touch the ground.

만약 발을 들어올리는 순간과 지면에 접촉하는 순간에 가속 및 감속을 하지 않으면 앞으로 내딛는 발로 땅을 찰 수 있으므로 보행이 불안정해질 수 있다. 여기서, 보폭 l과 발을 들어올리는 높이 h는 변수로 두어 사용자가 임의로 변경하여 로봇의 보행 패턴을 생성할 수 있도록 한다.If you do not accelerate or decelerate at the time of lifting your feet or contacting the ground, you may hit the ground with your forward feet, which may lead to unstable walking. Here, the stride length l and the height h for lifting the foot are set as variables so that the user can arbitrarily change to generate a walking pattern of the robot.

도 6에서 설정된 골반 중심의 기준 좌표계 {0}으로 표현한 발끝의 좌표는 변환행렬을 이용하여 나타낼 수 있다. 여기서 직진 보행중

Figure 112006031751366-PAT00065
은 0으로 고정되어 있으며, 한 발을 내딛는 과정에서는 좌우 무게중심 이동을 위한 조인트 각도인
Figure 112006031751366-PAT00066
,
Figure 112006031751366-PAT00067
은 일정한 값으로 고정되어 있다. 또한 발바닥은 항상 수평을 유지한다는 가정에 의해 발바닥의 위치와 발목의 상대적인 위치는 항상 일정하다. 즉, 한 발을 내딛는 과정에서 찾아야 할 조인트 각도는
Figure 112006031751366-PAT00068
Figure 112006031751366-PAT00069
이며,
Figure 112006031751366-PAT00070
는 발바닥이 수평을 유지하기 위해
Figure 112006031751366-PAT00071
Figure 112006031751366-PAT00072
의 값에 의해 정해진다. 또한, 발바닥의 위치가 아닌 발목의 위치를 찾음으로써 보행패턴을 구할 수 있다.The coordinates of the toe represented by the reference coordinate system {0} of the pelvis center set in FIG. 6 may be represented using a transformation matrix. Walking straight here
Figure 112006031751366-PAT00065
Is fixed to 0, the joint angle for the left and right center of gravity movement
Figure 112006031751366-PAT00066
,
Figure 112006031751366-PAT00067
Is fixed to a constant value. In addition, the position of the sole and the relative position of the ankle are always constant by the assumption that the sole is always horizontal. In other words, the joint angle to find in the step
Figure 112006031751366-PAT00068
Wow
Figure 112006031751366-PAT00069
Is,
Figure 112006031751366-PAT00070
To keep the soles level
Figure 112006031751366-PAT00071
Wow
Figure 112006031751366-PAT00072
It is determined by the value of. In addition, the walking pattern can be obtained by finding the position of the ankle rather than the position of the sole.

임의의 시점에서의

Figure 112006031751366-PAT00073
Figure 112006031751366-PAT00074
의 값을 찾기 위해서는 이웃하는 점 사이에서는
Figure 112006031751366-PAT00075
Figure 112006031751366-PAT00076
가 비슷한 값을 갖는다는 가정이 필요하다. 처음에는 로봇의 발끝의 위치가 바닥과 가장 가까운 점에 있게 된다. 이 점에서의
Figure 112006031751366-PAT00077
Figure 112006031751366-PAT00078
는 보행을 시작할때의 값이므로 로봇의 초기 자세로부터 이미 알고 있는 값이다. 그러므로
Figure 112006031751366-PAT00079
Figure 112006031751366-PAT00080
는 다음의 수학식 22에 의해 구할 수 있다.At any point in time
Figure 112006031751366-PAT00073
Wow
Figure 112006031751366-PAT00074
To find the value of
Figure 112006031751366-PAT00075
Wow
Figure 112006031751366-PAT00076
We need to assume that has a similar value. Initially, the position of the toe of the robot is closest to the floor. At this point
Figure 112006031751366-PAT00077
Wow
Figure 112006031751366-PAT00078
Since is the value at the start of walking, it is already known from the initial position of the robot. therefore
Figure 112006031751366-PAT00079
and
Figure 112006031751366-PAT00080
Can be obtained by the following equation (22).

Figure 112006031751366-PAT00081
Figure 112006031751366-PAT00081

여기서

Figure 112006031751366-PAT00082
는 기준좌표계 {0}으로 표현한 발목의 위치이며
Figure 112006031751366-PAT00083
는 좌표계{4}로 표현한 좌표계{5}의 원점이다. 이 값은 무릎과 발목 사이의 링크의 길이에 의해 정해지며
Figure 112006031751366-PAT00084
의 상수값을 갖는다.
Figure 112006031751366-PAT00085
는 각 좌표계간의 변환 행렬이다. 수학식 22에서 초기의
Figure 112006031751366-PAT00086
Figure 112006031751366-PAT00087
Figure 112006031751366-PAT00088
를 더한 후 발목의 위치
Figure 112006031751366-PAT00089
를 구한다. 이렇게 해서 얻어진 발목의 위치 중 다음의 위치와 가장 가까운 위치에 오는 값을 그 점에서의 조인트 각도로 선택한다. 이러한 과정을 모든 발목의 위치에 대해 수행하여 각 위치에서의
Figure 112006031751366-PAT00090
Figure 112006031751366-PAT00091
의 값을 구한다. 또한, 앞으로 내딪은 발을 뒤로 미는 동작 역시 같은 과정을 통해 시간에 따른 각 조인트의 각도 를 구한다. here
Figure 112006031751366-PAT00082
Is the location of the ankle expressed in the reference coordinate system {0}
Figure 112006031751366-PAT00083
Is the origin of coordinate system {5} expressed in coordinate system {4}. This value is determined by the length of the link between the knee and the ankle
Figure 112006031751366-PAT00084
Has a constant value.
Figure 112006031751366-PAT00085
Is the transformation matrix between each coordinate system. In Equation 22,
Figure 112006031751366-PAT00086
Wow
Figure 112006031751366-PAT00087
on
Figure 112006031751366-PAT00088
Location of the ankle after adding
Figure 112006031751366-PAT00089
Obtain The value that comes closest to the next position among the positions of the ankles thus obtained is selected as the joint angle at that point. Do this for all ankle positions,
Figure 112006031751366-PAT00090
Wow
Figure 112006031751366-PAT00091
Find the value of. In addition, the motion of pushing forward the forward foot is also the same process to find the angle of each joint over time.

도 7은 도 5의 시간에 따른 조인트 각도를 나타내는 그래프이다.FIG. 7 is a graph illustrating a joint angle over time of FIG. 5.

이와 같은 과정을 통해 구해진 한쪽 다리에 대한 조인트들의 각도값의 변화는 도 7과 같다. 도 7은 로봇이 두 걸음을 걷는 시간동안 한쪽 다리의 조인트들의 각도 변화를 나타낸 그래프이다. 위에서부터 순서대로 도 6에서의 조인트 {2}, {3}, {4}, {5}, {6}의 각도 변화를 나타내고 있으며 직진 보행중에는 조인트 {1}의 각도

Figure 112006031751366-PAT00092
은 0으로 고정되어 있으므로 표시하지 않았다. 이 값들은 제작된 로봇 내의 마이크로 프로세서의 메모리에 저장되며 각 액추에이터로 보내진다. 각 액추에이터는 이 값에 해당하는 각도를 유지함으로써 로봇이 동작하고, 로봇이 보행을 한다.The change in the angle value of the joints with respect to one leg obtained through the above process is shown in FIG. 7. Figure 7 is a graph showing the change in the angle of the joints of one leg during the time the robot walks two steps. The angles of the joints {2}, {3}, {4}, {5}, and {6} in Fig. 6 are shown in order from the top, and the angle of the joint {1} during straight walking.
Figure 112006031751366-PAT00092
Is not fixed because it is fixed to zero. These values are stored in the microprocessor's memory in the robot and sent to each actuator. Each actuator maintains an angle corresponding to this value so that the robot operates and the robot walks.

도 8은 도 5의 보행 수단의 일부에 부착된 센서를 도시한 것이다.FIG. 8 shows a sensor attached to a part of the walking means of FIG. 5.

압력 센서는 압력 감지 저항(FSR : force sensing resistor)과 같은 압력에 따라 저항의 크기가 변하는 소자를 이용할 수 있다. 이를 이용하면, 간단한 회로를 이용해서 압력값과 선형적으로 비례하는 출력을 얻어낼 수 있다.The pressure sensor may use a device in which the size of the resistance changes with pressure, such as a force sensing resistor (FSR). Using this, a simple circuit can be used to obtain an output that is linearly proportional to the pressure value.

또한, 로봇의 발바닥에 압력 감지 저항을 부착하고 그 위에 충격의 완화 및 물리적인 노이즈를 제거하기 위해 쿠션을 부착할 수 있다. 쿠션은 마찰계수가 크기 때문에 쿠션 위에는 아크릴판을 붙여 수평방향의 마찰력을 제거하여 수직방향의 반력만을 측정하게 할 수 있다.In addition, a pressure-sensitive resistor can be attached to the sole of the robot and a cushion can be attached thereon to alleviate shock and remove physical noise. Since the cushion has a large coefficient of friction, an acrylic plate may be attached on the cushion to remove the friction in the horizontal direction, thereby measuring only the reaction force in the vertical direction.

센서의 출력값은 10비트의 A/D컨버터를 이용해 읽을 수 있다. A/D컨버터의 오차 범위는 최하 비트의 크기이다. The sensor output can be read using a 10-bit A / D converter. The error range of the A / D converter is the least significant bit size.

도 9는 도 5의 로봇을 이용하여 측정한 균형점 경로를 나타내는 그래프이다.9 is a graph showing a balance point path measured using the robot of FIG. 5.

도 9에서 샘플링 주기는 50ms이다. 측정에 의해 얻어진 균형점의 경로는 매우 불규칙하며 로봇이 불안정해 질 수 있음을 알 수 있다. In FIG. 9, the sampling period is 50 ms. It can be seen that the path of the balance point obtained by the measurement is very irregular and the robot may become unstable.

도 10은 도 5의 균형점을 중심으로 로봇을 개략적으로 도시한 것이다.FIG. 10 schematically illustrates a robot around the balance point of FIG. 5.

로봇의 전체적인 동작에 영향을 받지 않고 모든 동작에서 일반화된 자세 제어가 가능하도록 로봇을 측면과 정면에 대해 각각 1자유도를 갖는 도립진자로 간략화할 수 있다.The robot can be simplified to an inverted pendulum having 1 degree of freedom for each side and front to enable generalized posture control in all operations without being affected by the overall operation of the robot.

간략화한 로봇의 정면에서, 골반과 발목의 요우(yaw)에 해당하는 조인트인 로봇이 보행을 할 때에 좌우 무게중심 이동을 위한 조인트이다. 이는 도 6의

Figure 112006031751366-PAT00093
Figure 112006031751366-PAT00094
에 해당한다. 양쪽 다리의
Figure 112006031751366-PAT00095
,
Figure 112006031751366-PAT00096
,
Figure 112006031751366-PAT00097
,
Figure 112006031751366-PAT00098
에 해당하는 조인트는 직진 보행시 동일한 크기의 각도로 움직이기 때문에 네 조인트에 같은 크기의
Figure 112006031751366-PAT00099
를 더해서 로봇의 x축 방향 즉, 로봇의 좌우방향으로 무게중심을 이동하여 균형점의 위치를 변화시킬 수 있다.In front of the simplified robot, the joint corresponding to the yaw of the pelvis and ankle is a joint for moving the center of gravity of the left and right when walking. This is
Figure 112006031751366-PAT00093
Wow
Figure 112006031751366-PAT00094
Corresponds to On both legs
Figure 112006031751366-PAT00095
,
Figure 112006031751366-PAT00096
,
Figure 112006031751366-PAT00097
,
Figure 112006031751366-PAT00098
Is equivalent to four joints moving at the same angle when walking straight.
Figure 112006031751366-PAT00099
In addition, the position of the balance point can be changed by moving the center of gravity in the x-axis direction of the robot, that is, the left and right directions of the robot.

간략화한 로봇의 측면에서, 골반의 피치(pitch)에 해당하는

Figure 112006031751366-PAT00100
,
Figure 112006031751366-PAT00101
조인트는 로봇이 보행하는 동안 항상 로봇의 상체가 수직을 유지하도록 하는 특성을 갖는다. 이를 이용해
Figure 112006031751366-PAT00102
,
Figure 112006031751366-PAT00103
에 같은 크기의
Figure 112006031751366-PAT00104
를 더해서 로봇의 y축 방향 즉, 로봇의 앞뒤방향으로 무게중심을 이동하여 균형점의 위치를 변화시킬 수 있도록 한다.In terms of a simplified robot, it corresponds to the pitch of the pelvis
Figure 112006031751366-PAT00100
,
Figure 112006031751366-PAT00101
The joint has the property of keeping the upper body of the robot always vertical while the robot is walking. Using this
Figure 112006031751366-PAT00102
,
Figure 112006031751366-PAT00103
Of the same size
Figure 112006031751366-PAT00104
In addition, it is possible to change the position of the balance point by moving the center of gravity in the y-axis direction of the robot, that is, the front and rear of the robot.

이외의 조인트들은 보행을 하는 동안 상체에 대해서 위치와 방향이 변하기 때문에 일반화된 각도 변화를 적용시킬 수 없다. 그러나 위의 조인트 각도들은 로봇이 보행하는 도중에 항상 같은 크기의 각도로 움직이거나 회전축이 일직선상에 있기 때문에 값을 변화시켜도 로봇의 동작에 큰 영향을 미치지 않으면서 균형점의 위치를 변화시킬 수 있다.Other joints cannot apply generalized angular changes because their position and orientation change relative to the upper body during walking. However, the above joint angles always move at the same angle while the robot is walking, or because the axis of rotation is in a straight line, changing the value can change the position of the balance point without affecting the robot's operation.

본 발명의 일 실시예에 따른 로봇의 자세 제어 장치는 측정된 균형점의 x축 성분과 y축 성분을 입력으로 하고, 골반 조인트의 각도를 조정하기 위한 값

Figure 112006031751366-PAT00105
Figure 112006031751366-PAT00106
를 출력으로 하는 2입력, 2출력의 다층 퍼셉트론을 이용할 수 있다.A robot posture control device according to an embodiment of the present invention is a value for adjusting the angle of the pelvis joint by inputting the x-axis component and the y-axis component of the measured balance point.
Figure 112006031751366-PAT00105
Wow
Figure 112006031751366-PAT00106
Two-input, two-output multilayer perceptrons can be used.

도 11은 본 발명의 일 실시예에 따른 2입력 및 2출력의 신경망의 구조를 도시한 것이다.11 illustrates a structure of a neural network of two inputs and two outputs according to an embodiment of the present invention.

이때, 은닉층의 개수는 하나이며, 은닉층에서의 뉴런의 수는 10개이다. At this time, the number of hidden layers is one, and the number of neurons in the hidden layer is ten.

도 12는 본 발명에 따른 신경망을 이용하는 로봇의 자세 제어 장치의 블럭도이다.12 is a block diagram of a posture control device of a robot using a neural network according to the present invention.

사용자가 로봇의 보폭(step length)과 보행시 발을 들어올리는 높이(foot lift height)을 정하면 PC에서 로봇의 보행 패턴

Figure 112006031751366-PAT00107
를 생성한다. When the user determines the robot's step length and the foot lift height when walking, the robot's walking pattern on the PC
Figure 112006031751366-PAT00107
Create

보행패턴 테이블(1210)은 위와 같이 생성된 보행 패턴을 저장한다. 보행패턴 테이블(1210)은 로봇에 내장된 마이크로 컨트롤러 내부의 메모리일 수 있다. 보행 패턴 테이블(1210)에 저장된 보행 패턴은 복수의 액추에이터(1260)에 전송된다. The walking pattern table 1210 stores the walking pattern generated as described above. The walking pattern table 1210 may be a memory inside a microcontroller built in a robot. The walking pattern stored in the walking pattern table 1210 is transmitted to the plurality of actuators 1260.

복수의 액추에이터(1260)는 보행 패턴 및 조인트각 조정값에 따라 동작한다. 로봇은 액추에이터(1260)의 동작에 따라 동작 및 보행한다.The plurality of actuators 1260 operate according to the walking pattern and the joint angle adjustment value. The robot moves and walks according to the operation of the actuator 1260.

복수의 압력센서(1220)는 액추에이터(1260)의 동작에 따라 로봇의 보행수단에 가해지는 압력의 변화를 측정한다. 복수의 압력센서(1220)는 인가되는 압력에 대응하는 전기적인 센서 신호를 생성한다.The plurality of pressure sensors 1220 measures a change in pressure applied to the walking means of the robot according to the operation of the actuator 1260. The plurality of pressure sensors 1220 generates an electrical sensor signal corresponding to the applied pressure.

균형점 연산부(1230)는 센서 신호를 이용하여 균형점의 위치를 연산한다. 균형점 연산부(1230)에 의해 연산된 균형점의 위치와 미리 정해져 있는 이상적인 균형점의 위치와의 차이를 균형점 오차로 정의한다. The balance point calculator 1230 calculates the position of the balance point using the sensor signal. The difference between the position of the balance point calculated by the balance point calculating unit 1230 and the predetermined ideal position of the balance point is defined as the balance point error.

오차 생성부(1240)는 균형점 연산부(1230)에 의해 연산된 균형점의 위치와 미리 정해져 있는 이상적인 균형점의 위치와의 차이를 연산한다.The error generator 1240 calculates a difference between the position of the balance point calculated by the balance point calculator 1230 and the position of the predetermined ideal balance point.

신경망(1250)은 균형점 오차를 이용하여 로봇의 자세를 어떠한 방향으로 수정해야 할지를 결정하여 현재 로봇의 자세를 수정한다. 이러한 자세의 수정은 균형점 에러를 이용해

Figure 112006031751366-PAT00108
Figure 112006031751366-PAT00109
를 연산하고, 이 값들을 해당되는 조인트 각도에 더해줌으로써 이루어진다.The neural network 1250 corrects the posture of the current robot by determining in which direction the posture of the robot should be corrected using the balance point error. This posture correction uses a balance point error.
Figure 112006031751366-PAT00108
Wow
Figure 112006031751366-PAT00109
Is computed and added to these joint angles.

신경망을 학습하는 과정은 다음과 같다. 이미 만들어져 있는 보행 패턴

Figure 112006031751366-PAT00110
에 임의의 값을 가지는
Figure 112006031751366-PAT00111
,
Figure 112006031751366-PAT00112
를 빼주어 보행 패턴을 변경하고, 이렇게 변경된 보행 패턴을 로봇에 적용시킨다. 이때 측정된 균형점의 위치와 이상적인 균형점 의 차이를 신경망의 입력으로 한다. 이 입력에 대해 얻어진 신경망의 출력을
Figure 112006031751366-PAT00113
,
Figure 112006031751366-PAT00114
와 비교하여 이와 같아지도록 학습한다.
Figure 112006031751366-PAT00115
,
Figure 112006031751366-PAT00116
값을 빼지 않은 즉, 이미 만들어져 있는 보행패턴을 로봇에 적용시켰을 경우 로봇의 균형점 경로가 원하는 이상적인 경로라는 가정하에 신경망을 학습한다. 이로 인해 도 10의 조인트의 각도값에
Figure 112006031751366-PAT00117
,
Figure 112006031751366-PAT00118
를 빼주었을 경우 균형점의 위치가 어떻게 변하는지를 신경망이 학습한다. 이를 통해 신경망이 균형점의 에러가 0이 되도록 하는
Figure 112006031751366-PAT00119
,
Figure 112006031751366-PAT00120
를 출력한다.The process of learning neural networks is as follows. Walking pattern already made
Figure 112006031751366-PAT00110
With any value in
Figure 112006031751366-PAT00111
,
Figure 112006031751366-PAT00112
Change the walking pattern by subtracting and apply the changed walking pattern to the robot. At this time, the difference between the measured balance point position and the ideal balance point is used as the input of the neural network. The output of the neural network obtained for this input
Figure 112006031751366-PAT00113
,
Figure 112006031751366-PAT00114
Compare to and learn to be like this.
Figure 112006031751366-PAT00115
,
Figure 112006031751366-PAT00116
When the walking pattern is not applied to the robot, the neural network is trained on the assumption that the balance point path of the robot is the ideal path. Due to this the angle value of the joint of FIG.
Figure 112006031751366-PAT00117
,
Figure 112006031751366-PAT00118
If you omit, the neural network learns how the position of the balance point changes. This allows the neural network to zero the balance point error.
Figure 112006031751366-PAT00119
,
Figure 112006031751366-PAT00120
Outputs

신경망은 역전파 알고리즘을 이용하여 학습하며, 로봇이 보행을 하면서 매 샘플링 시간마다 학습을 한다. 바람직하게는, 학습 과정에서의 샘플링 시간은 학습이 완료된 과정에서의 샘플링 시간보다 느리게 할 수 있다. 이와 같이 하면 비슷한 입/출력 데이터에 대해 계속적인 학습을 할 경우에 생기는 오버피팅(overfitting)을 방지할 수 있다. Neural networks are trained using backpropagation algorithms, and the robot learns every sampling time while walking. Preferably, the sampling time in the learning process may be slower than the sampling time in the learning process. This prevents overfitting caused by continuing learning about similar input / output data.

도 13은 도 12의 자세 제어 장치를 구비한 로봇의 블럭도이다.FIG. 13 is a block diagram of a robot including the posture control device of FIG. 12.

보행패턴 테이블(1310)은 소정의 보행 패턴값을 저장한다.The walking pattern table 1310 stores a predetermined walking pattern value.

복수의 압력 센서(1320)는 보행 수단의 일부에 부착되어 인가되는 압력에 대응하는 전기적인 센서 신호를 생성한다. 균형점 연산부(1330)는 복수의 압력 센서(1320)에 의해 생성되는 센서 신호를 이용하여 균형점을 연산한다. 오차 생성부(1340)는 연산된 균형점과 미리 저장된 소정의 균형점 사이의 차인 균형점 오차 를 생성한다. 신경망(1350)은 복수의 뉴런들로 구성된다. 신경망(1350)은 복수 뉴런들의 가중치들을 균형점 오차에 부여하여 조인트각 조정값을 생성한다. 또한, 신경망(1350)은 복수의 액추에이터(1360) 동작 중 생성된 균형점 오차에 따라 역전파 알고리즘을 수행하여 상기 가중치들을 변경시킨다. 복수의 액추에이터(1360)는 조인트각 조정값 및 보행 패턴값을 합산한 제어 신호에 따라 동작한다. 복수의 액추에이터(1360)는 제어 신호에 따라 보행 수단을 동작시킨다.The plurality of pressure sensors 1320 are attached to a portion of the walking means to generate an electrical sensor signal corresponding to the applied pressure. The balance point calculator 1330 calculates a balance point using sensor signals generated by the plurality of pressure sensors 1320. The error generator 1340 generates a balance point error that is a difference between the calculated balance point and a predetermined balance point stored in advance. The neural network 1350 is composed of a plurality of neurons. The neural network 1350 generates a joint angle adjustment value by applying weights of the plurality of neurons to the balance point error. In addition, the neural network 1350 performs the backpropagation algorithm according to the balance point error generated during the operation of the plurality of actuators 1360 to change the weights. The plurality of actuators 1360 operate according to a control signal obtained by adding up joint angle adjustment values and walking pattern values. The plurality of actuators 1360 operates the walking means in accordance with the control signal.

도 14는 도 13에서 학습 횟수에 따른 에러의 수렴 과정을 나타내는 그래프이다.FIG. 14 is a graph illustrating a convergence process of an error according to the number of learning in FIG. 13.

이러한 과정을 통해 신경망이 조인트각 조정값(

Figure 112006031751366-PAT00121
,
Figure 112006031751366-PAT00122
)과 로봇의 안정도 사이의 관계를 모델링할 수 있다.This process allows the neural network to adjust the joint angle (
Figure 112006031751366-PAT00121
,
Figure 112006031751366-PAT00122
) And the stability of the robot.

도 15는 본 발명의 다른 실시예에 따른 시스템 구성도이다.15 is a system configuration diagram according to another embodiment of the present invention.

하나의 마이크로 컨트롤러는 보행패턴 테이블(1510), 신경망(1550), 미리 저장된 균형점(1531), 균형점 연산부(1530), ADC(아날로그-디지털 컨버터, 1521)를 포함할 수 있다.One microcontroller may include a walking pattern table 1510, a neural network 1550, a prestored balance point 1531, a balance point calculator 1530, and an analog-to-digital converter 1521.

마이크로 컨트롤러는 각 조인트의 액추에이터(1560)로 입력되는 제어신호를 생성하고, ADC(1521)을 이용하여 보행수단의 압력 센서(1520)로부터 들어온 값을 샘플링하며, 압력 센서(1520)의 센서 신호로부터 로봇의 균형점의 위치를 연산하고, 신경망(1550)의 학습 및 에러값으로부터 조인트각 조정값을 연산하며, PC(1570)로 센서값, 균형점의 위치값을 전송한다.The microcontroller generates a control signal input to the actuator 1560 of each joint, samples the value input from the pressure sensor 1520 of the walking means using the ADC 1521, and from the sensor signal of the pressure sensor 1520. The position of the balance point of the robot is calculated, the joint angle adjustment value is calculated from the learning and error values of the neural network 1550, and the sensor value and the position value of the balance point are transmitted to the PC 1570.

로봇의 마이크로 컨트롤러에서 연산된 센서 값과 균형점의 위치는 RS-232 통신을 통해 PC로 전송될 수 있다. 이에 따라, 시스템 사용자가 현재 로봇의 상태를 모니터링 할 수 있다. 다음의 표 2에는 본 발명의 일 예로 제작된 이족 보행로봇의 사양이다.The sensor value calculated from the robot's microcontroller and the position of the balance point can be transmitted to the PC via RS-232 communication. Accordingly, the system user can monitor the current robot status. Table 2 is a specification of the biped walking robot manufactured as an example of the present invention.

높이Height 325mm325 mm 무게weight 1.5kg1.5 kg 프로세서Processor 40MHz, 16bit, ARM7 core40 MHz, 16 bit, ARM7 core 액추에이터Actuator RC서보모터, 토크:13kg

Figure 112006031751366-PAT00123
cmRC servo motor, torque: 13 kg
Figure 112006031751366-PAT00123
cm 보폭stride 48mm48 mm 보행 속도Walking speed 48mm/1.4sec48mm / 1.4sec

도 16은 본 발명에 따른 신경망을 이용하는 로봇의 자세 제어 방법의 흐름도이다.16 is a flowchart of a method for controlling a posture of a robot using a neural network according to the present invention.

먼저, 소정의 보행 패턴값에 따른 로봇의 동작 중 압력 센서로 인가되는 압력을 이용하여 균형점을 측정한다(1610 과정). 다음, 측정된 균형점과 미리 저장된 균형점 사이의 차인 균형점 오차를 생성하여 소정의 신경망에 출력한다(1620 과정). 신경망에 균형점 오차가 입력되면, 신경망에 포함된 복수 뉴런들의 가중치들을 상기 균형점 오차에 부여하여 조인트각 조정값을 생성한다(1630 과정). 다음, 조인트각 조정값 및 상기 보행 패턴값을 합산한 제어 신호에 따라 액추에이터를 동작시킨다(1640 과정). 마지막으로, 액추에이터 동작 중 생성된 균형점 오차에 따라 역전파 알고리즘을 수행하여 복수 뉴런들의 가중치들을 변경시킨다(1650 과정).First, the balance point is measured using the pressure applied to the pressure sensor during the operation of the robot according to the predetermined walking pattern value (step 1610). Next, a balance point error, which is a difference between the measured balance point and the previously stored balance point, is generated and output to the predetermined neural network (step 1620). When the balance point error is input to the neural network, the joint angle adjustment value is generated by giving weights of the plurality of neurons included in the neural network to the balance point error (step 1630). Next, the actuator is operated according to the control signal obtained by adding the joint angle adjustment value and the walking pattern value (step 1640). Finally, a backpropagation algorithm is performed according to the balance point error generated during the actuator operation to change the weights of the plurality of neurons (step 1650).

이하에서, 수치적인 제어의 경우 신경망을 이용한 제어와 동일한 방법으로 로봇을 도립진자로 단순화하고 상체를 추가적인 링크로 가정한다. 즉 상체의 질량, 상체의 위치 및 가속도와 균형점과의 관계를 모델링한다.In the following, the numerical control simplifies the robot to the inverted pendulum and assumes the upper body as an additional link in the same way as the control using the neural network. That is, the relationship between the mass of the upper body, the position of the upper body, and the acceleration and the balance point is modeled.

도 17은 본 발명의 또다른 실시예에 따른 로봇의 평지 보행을 도시한 것이고, 도 20은 본 발명의 또다른 실시예에 따른 로봇의 +10°의 오르막 경사면 보행을 도시한 것이며, 도 23은 본 발명의 또다른 실시예에 따른 로봇의 -10°의 내리막 경사면 보행을 도시한 것이고, 도 26은 본 발명의 또다른 실시예에 따른 로봇의 10°의 측방향 경사면 보행을 도시한 것이다.FIG. 17 illustrates flat walking of a robot according to another exemplary embodiment of the present invention, FIG. 20 illustrates uphill slope walking of + 10 ° of a robot according to another exemplary embodiment of the present invention, and FIG. FIG. 26 illustrates a downhill slope walk of -10 ° of a robot according to another embodiment of the present invention, and FIG. 26 illustrates a 10 ° lateral slope walk of a robot according to another embodiment of the present invention.

도 18은 도 17의 평지 보행에서의 균형점 경로를 나타내는 그래프이고, 도 22는 도 20의 오르막 보행에서의 균형점 오차를 나타내는 그래프이며, 도 25는 도 23의 내리막 보행에서의 균형점 오차를 나타내는 그래프이고, 도 28은 도 26의 측방향 경사면 보행에서의 균형점 오차를 나타내는 그래프이다.FIG. 18 is a graph showing a balance point path in the flat walk of FIG. 17, FIG. 22 is a graph showing a balance point error in the uphill walk in FIG. 20, and FIG. 25 is a graph showing a balance point error in the downhill walk in FIG. 23. FIG. 28 is a graph showing a balance point error in the lateral inclined walk of FIG. 26.

도 18, 도 19, 도 21, 도 22, 도 24, 도 25, 도 27 및 도 28은 제어를 하지 않았을 경우(Without control), 동역학 해석에 의한 수치적인 제어를 적용했을 경우(With numerical control), 본 발명에 따라 신경망을 이용한 제어를 적용했을 경우를 도시한다.18, 19, 21, 22, 24, 25, 27 and 28 are without control (without control) and with numerical control by dynamic analysis (with numerical control). The case where control using a neural network is applied according to the present invention is shown.

도 18, 도 21, 도 24, 도 27에서 원하는 균형점의 경로(Desired ZMP)는 점선으로 표현하였으며 측정된 균형점의 경로는 실선으로 표시한다. 18, 21, 24, and 27, the desired path of the balanced point (Desired ZMP) is represented by a dotted line, and the measured path of the balanced point is indicated by a solid line.

로봇에 자세 제어를 적용하지 않았을 경우(Without control) 균형점의 경로가 불규칙하며 원하는 균형점의 경로(Desired ZMP)와 크게 차이가 나는 것을 알 수 있다. 본 발명에 따라 신경망을 이용해서 제어했을 경우가 수치적인 제어(With numerical control)보다 원하는 균형점 경로에 훨씬 가까움을 알 수 있다.Without the posture control applied to the robot, it can be seen that the path of the balance point is irregular and greatly differs from the desired path of the balanced point (Desired ZMP). It can be seen that the control using neural networks in accordance with the present invention is much closer to the desired balance point path than with numerical control.

도 19는 도 17의 평지 보행에서의 균형점 오차를 나타내는 그래프이고, 21은 도 20의 오르막 보행에서의 균형점 경로를 나타내는 그래프이며, 도 24는 도 23의 내리막 보행에서의 균형점 경로를 나타내는 그래프이고, 도 27은 도 26의 측방향 경사면 보행에서의 균형점 경로를 나타내는 그래프이다.FIG. 19 is a graph showing a balance point error in the flat walk of FIG. 17, 21 is a graph showing a balance point path in the uphill walk of FIG. 20, FIG. 24 is a graph showing a balance point path in the downhill walk of FIG. 23, FIG. 27 is a graph illustrating a balance point path in the lateral slope walking of FIG. 26.

도 19, 도 22, 도25, 도28은 보행시 시간에 대한 균형점의 오차를 x축 성분과 y축 성분으로 나누어 나타낸다. 위쪽의 그래프는 x축에 대한 균형점의 오차, 아래쪽 그래프는 y축에 대한 균형점의 오차를 나타낸다. 한 그래프 내에서 제어를 하지 않았을 경우(Without control)는 실선으로, 수치 제어에 의한 결과(With numerical control)는 점선으로, 본 발명에 따라 신경망을 이용한 제어의 결과는 x표시가 마킹된 선으로 나타낸다. 이 그래프가 0에 가까울수록 로봇의 균형점 경로는 원하는 경로에 가까우며 안정적인 보행을 한다고 할 수 있다. 또한 전체적으로 x축 방향의 오차가 y축 방향의 오차보다 크기가 큰 것을 알 수 있는데, 이는 로봇이 좌우로 무게중심을 이동하면서 균형점의 위치가 이동하는 폭이 크기 때문에 오차의 폭 또한 커지기 때문이다.19, 22, 25 and 28 show the error of the balance point with respect to time during walking divided by the x-axis component and the y-axis component. The upper graph shows the error of the balance point on the x axis, and the lower graph shows the error of the balance point on the y axis. Without control in a graph (Without control) is represented by a solid line, the result by numerical control is represented by a dashed line, and the result of the control using a neural network according to the present invention is represented by a line marked with x . The closer this graph is to 0, the closer the robot's balance point path is to the desired path and the more stable the walking. In addition, it can be seen that the error in the x-axis direction is larger than the error in the y-axis direction because the width of the error is also increased because the position of the balance point is large while the robot moves the center of gravity from side to side.

도 19, 도 22, 도25, 도28에서 알 수 있듯이 두 가지의 자세 제어를 적용했을 경우 제어를 하지 않았을 때(Without control)보다 전체적으로 오차의 범위와 변화 정도가 줄어들었으며 수치 제어(With numerical control)에 비해 본 발명에 따라 신경망을 이용한 제어를 적용했을 경우가 더 큰 폭으로 줄어들었음을 알 수 있다.As can be seen from FIGS. 19, 22, 25, and 28, when the two posture controls are applied, the range of error and the degree of change are reduced as compared with without control, and numerical control (With numerical control) is performed. It can be seen that the case of applying the control using the neural network according to the present invention is significantly reduced.

표 3은 제어 성능을 수치적으로 비교하기 위해서 평지와 세 종류의 경사면에 대한 균형점의 오차를 RMSE(root mean square error)값으로 나타낸다. 아래 표 3의 값을 통해 본 발명에 따라 신경망을 이용한 제어는 동역학 해석을 이용한 제어(With numerical control)에 비해 성능이 우수함을 알 수 있다.Table 3 shows the root mean square error (RMS) of the balance point error for the flat and three types of slopes for numerical comparison of control performance. Through the values in Table 3, it can be seen that the control using the neural network according to the present invention is superior to the control using the dynamic analysis (With numerical control).

제어 없음No control 수치 제어Numerical control 본 발명에 따른 신경망 제어Neural network control according to the present invention 평면plane x축x axis 10.797310.7973 7.32307.3230 2.79142.7914 y축y axis 5.08075.0807 3.27813.2781 1.44951.4495 오르막(+10)Ascent (+10) x축x axis 9.67419.6741 7.04947.0494 2.95142.9514 y축y axis 11.798411.7984 3.58853.5885 1.49231.4923 내리막(-10)Downhill (-10) x축x axis 13.075213.0752 8.62878.6287 3.52093.5209 y축y axis 19.373419.3734 10.721210.7212 3.80243.8024 측면경사(10)Side slope (10) x축x axis 22.619722.6197 5.62605.6260 4.85084.8508 y축y axis 9.68399.6839 4.97074.9707 1.48901.4890

이 외에도 제작된 이족 보행로봇은 외부에서 가해지는 힘에 대해 반응하여 균형을 유지할 수 있다. 즉, 정면 및 후면, 측면에서 본 발명에 따른 로봇에 힘을 가했을 경우 밸런스를 유지하기 위해서, 본 발명에 따른 로봇은 힘의 반대 방향으로 반력을 가할 수 있다.In addition, the biped robots can be balanced in response to external forces. That is, in order to maintain balance when applying force to the robot according to the present invention from the front, rear and side, the robot according to the present invention may apply a reaction force in the opposite direction of the force.

바람직하게는, 본 발명의 신경망을 이용하는 로봇의 자세 제어 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다.Preferably, a program for executing the attitude control method of the robot using the neural network of the present invention may be provided by recording a program for executing in a computer on a computer-readable recording medium.

본 발명은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. The invention can be implemented via software. When implemented in software, the constituent means of the present invention are code segments that perform the necessary work. The program or code segments may be stored on a processor readable medium or transmitted by a computer data signal coupled with a carrier on a transmission medium or network.

컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD-ROM, DVD+ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The computer-readable recording medium includes all kinds of recording devices in which data is stored which can be read by a computer system. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, DVD-ROM, DVD + ROM, magnetic tape, floppy disks, optical data storage devices, and the like. The computer readable recording medium can also be distributed over network coupled computer devices so that the computer readable code is stored and executed in a distributed fashion.

본 발명은 도면에 도시된 일 실시예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary and will be understood by those of ordinary skill in the art that various modifications and variations can be made therefrom. However, such modifications should be considered to be within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이, 본 발명에 의하면, 신경망을 이용하여 복잡하고 불확실한 특성을 갖는 로봇을 제어함으로써, 신경망 스스로 로봇의 특성을 학습하고 안정도를 개선할 수 있고, 기구적인 부분에 오차가 있어도 안정적인 보행을 구현할 수 있으며, 로봇에 대한 정확한 모델링을 필요로 하지 않고, 이로 인해 로봇의 제작 난이도를 줄일 수 있고, 낮은 가격의 액추에이터나 부품을 사용할 수 있게 되어 로봇의 제작 기간이나 제작비용을 절감할 수 있는 효과가 있다.As described above, according to the present invention, by controlling the robot having a complex and uncertain characteristics by using the neural network, the neural network can learn the characteristics of the robot itself and improve the stability, stable walking even if there is an error in the mechanical part It does not require accurate modeling of the robot, which reduces the manufacturing difficulty of the robot and enables the use of low-cost actuators or parts, which can reduce the production time or cost of the robot. There is.

Claims (5)

소정의 보행 패턴값에 따른 로봇의 동작 중 압력 센서로 인가되는 압력을 이용하여 균형점을 측정하는 단계;Measuring a balance point using a pressure applied to a pressure sensor during operation of the robot according to a predetermined walking pattern value; 상기 측정된 균형점과 미리 저장된 균형점 사이의 차인 균형점 오차를 생성하여 소정의 신경망에 출력하는 단계;Generating a balance point error, which is a difference between the measured balance point and a previously stored balance point, and outputting the balance point error to a predetermined neural network; 상기 신경망에 포함된 복수 뉴런들의 가중치들을 상기 균형점 오차에 부여하여 조인트각 조정값을 생성하는 단계;Generating a joint angle adjustment value by applying weights of a plurality of neurons included in the neural network to the balance point error; 상기 조인트각 조정값 및 상기 보행 패턴값을 합산한 제어 신호에 따라 액추에이터를 동작시키는 단계; 및Operating an actuator according to a control signal obtained by adding up the joint angle adjustment value and the walking pattern value; And 상기 액추에이터 동작 중 생성된 균형점 오차에 따라 역전파 알고리즘을 수행하여 상기 가중치들을 변경시키는 단계를 포함하는 신경망을 이용하는 로봇의 자세 제어 방법.And performing a backpropagation algorithm to change the weights according to the balance point error generated during the actuator operation. 제 1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of claim 1 on a computer. 소정의 보행 패턴값을 저장하는 보행패턴 테이블;A walking pattern table for storing a predetermined walking pattern value; 인가되는 압력에 대응하는 전기적인 센서 신호를 생성하는 복수의 압력 센서;A plurality of pressure sensors for generating an electrical sensor signal corresponding to the applied pressure; 상기 센서 신호를 이용하여 균형점을 연산하는 균형점 연산부;A balance point calculator configured to calculate a balance point using the sensor signal; 상기 연산된 균형점과 미리 저장된 소정의 균형점 사이의 차인 균형점 오차를 생성하는 오차 생성부; 및An error generator for generating a balance point error which is a difference between the calculated balance point and a predetermined balance point previously stored; And 복수 뉴런들의 가중치들을 상기 균형점 오차에 부여하여 조인트각 조정값을 생성하고 상기 조인트각 조정값 및 상기 보행 패턴값을 합산한 제어 신호에 따라 액추에이터를 동작시키고, 상기 액추에이터 동작 중 생성된 균형점 오차에 따라 역전파 알고리즘을 수행하여 상기 가중치들을 변경시키는 신경망을 포함하는 신경망을 이용하는 로봇의 자세 제어 장치.A joint angle adjustment value is generated by applying weights of a plurality of neurons to the balance point error, and the actuator is operated according to a control signal obtained by adding the joint angle adjustment value and the walking pattern value, and according to the balance point error generated during the actuator operation. A posture control device for a robot using a neural network including a neural network for performing a backpropagation algorithm to change the weights. 제 3 항에 있어서,The method of claim 3, wherein 상기 신경망은The neural network 상기 균형점 오차를 수신하는 입력층;An input layer receiving the balance point error; 상기 입력층과 전기 회로적으로 연결되고, 복수 뉴런들의 가중치들을 상기 균형점 오차에 부여하고, 상기 가중치들을 조절하는 역전파 알고리즘을 수행하는 은닉층; 및A concealment layer electrically connected to the input layer and configured to perform a backpropagation algorithm for assigning weights of a plurality of neurons to the balance point error and adjusting the weights; And 상기 가중치들이 부여된 균형점 오차를 이용하여 상기 조인트각 조정값을 생성하는 출력층을 포함하는 것을 특징으로 하는 신경망을 이용하는 로봇의 자세 제어 장치.And an output layer for generating the joint angle adjustment value by using the balance point error to which the weights are assigned. 소정의 보행 패턴값을 저장하는 보행패턴 테이블;A walking pattern table for storing a predetermined walking pattern value; 보행 수단의 일부에 부착되어 인가되는 압력에 대응하는 전기적인 센서 신호를 생성하는 복수의 압력 센서;A plurality of pressure sensors attached to a portion of the walking means to generate an electrical sensor signal corresponding to the applied pressure; 상기 센서 신호를 이용하여 균형점을 연산하는 균형점 연산부;A balance point calculator configured to calculate a balance point using the sensor signal; 상기 연산된 균형점과 미리 저장된 소정의 균형점 사이의 차인 균형점 오차를 생성하는 오차 생성부;An error generator for generating a balance point error which is a difference between the calculated balance point and a predetermined balance point previously stored; 복수 뉴런들의 가중치들을 상기 균형점 오차에 부여하여 조인트각 조정값을 생성하고 상기 조인트각 조정값 및 상기 보행 패턴값을 합산한 제어 신호에 따라 액추에이터를 동작시키고, 상기 액추에이터 동작 중 생성된 균형점 오차에 따라 역전파 알고리즘을 수행하여 상기 가중치들을 변경시키는 신경망; 및A joint angle adjustment value is generated by applying weights of a plurality of neurons to the balance point error, and the actuator is operated according to a control signal obtained by adding the joint angle adjustment value and the walking pattern value, and according to the balance point error generated during the actuator operation. A neural network for performing a backpropagation algorithm to change the weights; And 상기 제어 신호에 따라 상기 보행 수단을 동작시키는 복수의 액추에이터를 포함하는 신경망을 이용하는 자세 제어 장치를 구비한 로봇.A robot having a posture control device using a neural network including a plurality of actuators for operating the walking means in accordance with the control signal.
KR1020060040506A 2005-12-31 2006-05-04 Method for controlling pose of robot with using neural network, recording medium thereof, apparatus for controlling pose of robot with using neuron-network and robot therewith KR20070072314A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050136357 2005-12-31
KR20050136357 2005-12-31

Publications (1)

Publication Number Publication Date
KR20070072314A true KR20070072314A (en) 2007-07-04

Family

ID=38507349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060040506A KR20070072314A (en) 2005-12-31 2006-05-04 Method for controlling pose of robot with using neural network, recording medium thereof, apparatus for controlling pose of robot with using neuron-network and robot therewith

Country Status (1)

Country Link
KR (1) KR20070072314A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101018019B1 (en) * 2008-08-20 2011-03-02 재단법인 포항지능로봇연구소 Robot control system based analog neuron
KR101105346B1 (en) * 2008-12-09 2012-01-16 (주)로보티즈 Robot having a gait mechanism using learning and method for improving gait mechanism of robot using learing
KR101288149B1 (en) * 2011-11-02 2013-07-18 명지대학교 산학협력단 Device and method for controlling the balance of biped walking robots
US9221507B2 (en) 2008-06-19 2015-12-29 Samsung Electronics Co., Ltd. Robot and method of controlling walking thereof
CN108527371A (en) * 2018-04-17 2018-09-14 重庆邮电大学 A kind of Dextrous Hand planing method based on BP neural network
KR102233739B1 (en) * 2019-09-24 2021-03-31 한국생산기술연구원 Walking robot posture control method using reinforcement learning and artificial neural network
CN113143256A (en) * 2021-01-28 2021-07-23 上海电气集团股份有限公司 Gait feature extraction method, lower limb assessment method, lower limb control method, device and medium
KR102390439B1 (en) * 2020-12-14 2022-04-25 (주)이디지에스 Deep learning-based humanoid robot soccer system
KR20220140178A (en) * 2021-04-09 2022-10-18 한양대학교 산학협력단 Walking motion generating method based on reinforcement learning and service apparatus
KR102660601B1 (en) 2024-01-09 2024-04-25 주식회사세오 Control method for stable operation of mobile robots

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9221507B2 (en) 2008-06-19 2015-12-29 Samsung Electronics Co., Ltd. Robot and method of controlling walking thereof
KR101018019B1 (en) * 2008-08-20 2011-03-02 재단법인 포항지능로봇연구소 Robot control system based analog neuron
KR101105346B1 (en) * 2008-12-09 2012-01-16 (주)로보티즈 Robot having a gait mechanism using learning and method for improving gait mechanism of robot using learing
KR101288149B1 (en) * 2011-11-02 2013-07-18 명지대학교 산학협력단 Device and method for controlling the balance of biped walking robots
CN108527371A (en) * 2018-04-17 2018-09-14 重庆邮电大学 A kind of Dextrous Hand planing method based on BP neural network
KR102233739B1 (en) * 2019-09-24 2021-03-31 한국생산기술연구원 Walking robot posture control method using reinforcement learning and artificial neural network
KR102390439B1 (en) * 2020-12-14 2022-04-25 (주)이디지에스 Deep learning-based humanoid robot soccer system
CN113143256A (en) * 2021-01-28 2021-07-23 上海电气集团股份有限公司 Gait feature extraction method, lower limb assessment method, lower limb control method, device and medium
CN113143256B (en) * 2021-01-28 2023-09-26 上海电气集团股份有限公司 Gait feature extraction method, lower limb evaluation and control method, device and medium
KR20220140178A (en) * 2021-04-09 2022-10-18 한양대학교 산학협력단 Walking motion generating method based on reinforcement learning and service apparatus
KR102660601B1 (en) 2024-01-09 2024-04-25 주식회사세오 Control method for stable operation of mobile robots

Similar Documents

Publication Publication Date Title
KR20070072314A (en) Method for controlling pose of robot with using neural network, recording medium thereof, apparatus for controlling pose of robot with using neuron-network and robot therewith
KR100937268B1 (en) Legged mobile robot and method of controlling operation of the robot
EP2017042B1 (en) Motion controller and motion control method for legged walking robot, and robot apparatus
JP4818716B2 (en) Robot controller
US7076337B2 (en) Ambulation control apparatus and ambulation control method of robot
KR100959472B1 (en) Robot device and control method of robot device
US9073209B2 (en) Walking robot and control method thereof
KR101131776B1 (en) Gait generator of legged mobile robot
JP3615702B2 (en) Motion control device and motion control method for legged mobile robot, and legged mobile robot
US10246152B2 (en) Control device for mobile robot
US20210162589A1 (en) Systems and methods for learning agile locomotion for multiped robots
JP2001277159A (en) Legged locomotion robot, controlling method for it, and ralative movement measuring sensor for it
WO2004033160A1 (en) Robot device operation control device and operation control method
US20120065778A1 (en) Robot and control method thereof
Ding et al. Walking stabilization control for humanoid robots on unknown slope based on walking sequences adjustment
CN114384918A (en) Diagonal gait compliance control method of four-footed robot based on drop foot point adjustment
Mănoiu-Olaru et al. Stability analysis software platform dedicated for a hexapod robot
JP2001138272A (en) Leg type mobile robot and control method for its motion
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
JP3568527B2 (en) Mobile device
CN116551669A (en) Dynamic jump and balance control method for humanoid robot, electronic equipment and medium
Dettmann et al. Improved locomotion capabilities for quadrupeds through active multi-point-contact feet
JP2004148491A (en) Apparatus and method for controlling operation of robot system, and its computer program
JP4481132B2 (en) Robot apparatus and control method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20080211

Effective date: 20091201