Previous Contents/Robotics

보행로봇의 CPG(Central Pattern Generator) 이론에 대해서...

shhyun 2008. 6. 23. 19:25

요새 관심을 갖고 보고있는 것이 바로 이 CPG 입니다.

Central Pattern Generator 이하 줄여서 CPG 라고 부릅니다.

중추신경발생기? 라고 해야 맞는말인지는 잘 모르겠습니다.

?

어찌되었든, CPG 는 일반적인 생물체의 보행에 관련된 신경을 나타냅니다.

인간의 걸음걸이나 개의 걸음걸이와 같은 2족, 혹은 4족, 또는 그 이상의 곤충들, 기타 모든 생물체의 반복적 움직임에 관여하고 있다고 알려져 있습니다. ( 이 부분은 정확한 것은 아닙니다. )

?

한마디로 표현하면 CPG 라는 것은 규칙적인 순환구조의 패턴을 생성해내는 신호 발생기라고 생각하면 간단합니다.

물론 어디까지나 간단하게 생각하는 차원에서 입니다.

?

위키에 나와 있는 다음의 원문을 번역해본 것 입니다. ( http://en.wikipedia.org/wiki/Central_pattern_generator )

"Central pattern generators (CPGs) can be defined as neural networks that can endogenously (i.e. without rhythmic sensory or central input) produce rhythmic patterned outputs" [1] or as "neural circuits that generate periodic motor commands for rhythmic movements such as locomotion."[2] CPGs have been shown to produce rhythmic outputs resembling normal "rhythmic motor pattern production" even in isolation from motor and sensory feedback from limbs and other muscle targets. [1] [2] To be classified as a rhythmic generator, a CPG requires: 1. "two or more processes that interact such that each process sequentially increases and decreases, and 2. that, as a result of this interaction, the system repeatedly returns to its starting condition.[1]

CPG는 내부적으로 반복적인 패턴의 움직임을 만들어내는 것 또는 운동과 같은 것들의 리듬이 있는 움직임을 위해 주기적인 모터에 명령을 만들어내는 신경 회로망으로 정의할 수 있다. CPG 가 리듬을 생성해내는 것으로서 분류되기 위해서는 (1) 두 개 혹은 그 이상의 처리과정이 서로의 처리과정에 대해 연속적으로 증가하거나 감소하는 것 같이 영향을 주어야 하며, (2) 그런 상호작용의 결과로서 시스템은 반복적으로 초기의 상태로 되돌아 갈 수 있어야 한다.

말의 뜻이 잘 전달 되었는지는 모르겠습니다만,? (오역이 있을수도 있으므로 한번 검토해주시면 감사드리겠습니다 ^^)

?

두 개 이상의 처리과정이 조합되어 서로간에 영향을 주어야 한다는 것이 키 포인트 입니다.

즉, 기존의 단순한 sine파형 발생기나 cosine 파형 발생기를 CPG라고 명명할 순 없다고 볼 수 있겠습니다.

?

로봇이 걸어가는데 단순히 sine, cosine 파형만으로도 걸어갈 수는 있습니다.

그에 따른 feedback 응답으로도 물론 보행로봇이 외부환경에 적응해 나가도록 할 수도 있습니다. 하지만 이녀석은 자연스러운 움직임을 보여주지는 못하죠.

?

그래서 이 CPG 라는 것이 눈길을 받게 되었습니다.

CPG라는 녀석을 통해 보행로봇의 걸음새의 모델을 만들어내면, 인간이 걷는 것과 같이 자연스러운 걸음새도 가능하고,

외부 환경의 변화에도 적응할 수 있는 특징을 가질 수 있기 때문입니다.

* 이에대한 깊은 이해는 여기서 다루지는 않겠습니다. 이 부분은 CPG 관련 논문이나 자료들을 참고하시면 좋을것 같습니다.

?

CPG 를 이용해서 실제적인 걸음새가 만들어지는 것은 다음의 사이트를 참고하시면 도움이 될 것 같습니다.

http://brain.cc.kogakuin.ac.jp/~kanamaru/NN/BC/

?

일반적으로 로봇에 CPG를 이용하는 형태는 다음과 같습니다.

(1) 로봇의 모델링을 통한 CPG 모델의 구성

(2) 파형의 순환형태를 위한 PID 제어 혹은 PD 혹은 PI 제어

(3) 되먹임 루프 구조의 구현

?

저 같은 경우는 CPG에 관심을 가진 이유가 4족 보행의 걸음새 자동생성 방식에 대해 생각하다 관심을 가지게 되었습니다.
혹, CPG가 뭔지 아주 약간의 관심만 있으신 분들에게는 도움이 되었을지 모르겠습니다.

?

P.S. 너무 오랜만의 포스팅인지라... 뭔가 더 장황해진듯 싶네요;;;