728x90

2.3 로봇 환경 인터렉션

 

그림 2.1은 로봇이 주위 환경과 상호작용하는것을 보여주고 있습니다. 로봇의 주위 환경은 동적인 시스템으로 로봇은 센서로 부터 주위 환경에 대한 정보들을 얻을수 있습니다. 하지만 센서는 노이즈를 가지고 있으면서 직접적으로 감지할수 있는 것들이 많이 존재합니다. 그 결과 로봇은 주위 환경의 상태에 대해 내부적으로 신뢰도를 가지고 있어야 하는데 이는 좌측의 그림과 같습니다. 로봇은 또한 이 구동기를 통해 이동하면서 주위 환경에 영향을 줄수 있게 됩니다. 하지만 이러한 영향은 예측할수 없는데 더 자세히 다루어보겠습니다.

 

그림 2.1 로봇 환경 인터렉션

 

 

2.3.1 상태 state

 환경은 상태로 정리할 수 있습니다. 상태를 로봇과 주위 환경의 모든 값들의 집합으로 보면 됩니다. 상태는 사람의 위치처럼 시간에 따라 변할수도 있고, 벽의 위치 처럼 로봇이 이동하는 와중에 정적으로 존재할 수도 있습니다. 이러한 변하는 상태를 동적 상태 dynamic state라 하며 변하지 않는 상태를 정적 상태static state라 할 수 있습니다. 이 상태들은 로봇 자신의 위치, 속도 +(센서) 등을 포함하고 있으며 이 책에서 x로, 시간 t에 대한 상태를 $x_t$로 표기하겠습니다.

 

- 로봇의 자세 pose 는 전역 좌표계 global coordinate frame로부터의 위치 location과 방위 orientation으로 이루어지며 강체 이동 로봇은 6개의 상태 변수를 가지고 있는데 3개의 카티지안 좌표계와 오일러 각이라 부르는 3개의 방위값(피치, 롤, 요)들로 이루어집니다.

 

- 주변 환경에 존재하는 물체들의 특징과 위치. 물체로는 나무나, 벽, 특정 물체가 될수 있으며 이러한 물체들의 특징으로 시각적 외형(색상, 질감)이 될수 있습니다. 그러한 상태의 입자에 따라 로봇의 주위 환경은 수십개에서 수백만개의 상태 변수로 이루어 질 수도 있습니다. 실제 물리적 환경을 정확하게 나타낼려면 얼마나 많은 비트들이 필요할지 생각해보세요. 이 책에서 다루는 많은 문제들은 주위 물체들이 정적이 될것입니다. 이 물체를 랜드마크라 부를것이며 서로 구분할수 있고, 주변환경의 일부분으로 볼것입니다.

 

- 움직이는 물체와 사람들의 위치와 속도. 로봇만이 환경에서 움직이는 것이 아니라 다른 개체들도 각자의 기구학과 동역학적 상태를 가지고 있습니다.

 

상태 $x_t$는 미래에 대한 최고의 예측기라 한다면 완전하다고 할 수 있습니다. 다시 설명하면 완전함은 상태와 측정값, 제어 입력에 대한 과거의 정보들은 더이상 정보를 주지는 않지만 미래를 더 정확하게 예측하는데 도움을 줍니다. 완전함에 대한 정의는 미래가 상태의 결정론적인 함수가 될 필요가 없는 사실을 아는것이 중요합니다. 미래는 확률적일지도 모르나, 의존 관계가 상태 $x_t$의 영향을 받지 않는다면, 미래의 확률적인 상태에 영향을 주는 변수는 존재하지 않습니다. 이러한 가설을 마르코브 체인이라 합니다.

 

 상태의 완전함에 대한 용어는 이론적으로 중요하나 실용적인 측면에서 현실적인 로봇 시스템에서 완전한 상태는 불가능 합니다. 완전한 상태는 미래에 대해 영향을 주는 모든 환경의 측면일 뿐만 아니라 로봇 자신과 컴퓨터 메모리 주위 환경의 사람들 등을 포함하기 때문입니다. 이 모두를 얻기는 힘듦므로 현실적인 구현을 위해서 모든 상태 변수들의 일부분만 다루며 이러한 상태를 불완전 상태 incomplete state라 합니다.

 

 대부분의 로봇 공학 응용에서 상태는 연속적이며, 연속 상태 공간의 좋은예 예시로 로봇의 자세(위치와 방위)가 있습니다. 상태가 이산적인 경우 예시로 이진 상태 공간이 있는데, 센서를 신뢰할수 있는지 없는지를 나타냅니다. 두가지 연속과 이산 변수들을 포함하는 상태 공간을 하이브리드 상태 공간이라 합니다.

 

 로봇 공학의 문제에서 대부분의 경우 상태들은 시간에 대해 변하게 도는데 여기서 시간은 이산적으로 다룰 것입니다.

 

2.3.2 환경 인터렉션

 

 로봇과 환경의 인터렉션으로 2가지 타입이 존재합니다. 로봇은 구동기를 통해 이동하면서 주의 환경의 상태에 영향을 줄 수 있으며 센서를 통해 그 상태 값을 얻을 수 있습니다. 두 타입의 인터렉션다 동시에 발생하며 이 책 전반적에 구분해서 볼것입니다. 이 인터렉션은 그림 21과 같습니다.

 

- 센서 측정

 인식은 로봇이 센서를 사용하여 주위 환경에 대한 상태 정보를 얻어서 처리 됩니다. 예를들어 로봇이 카메라 영상, 스캔 정보나 다른 주위 환경 정보를 얻을수 있는 센서를 가졌을 수 있습니다. 이러한 인식 상호작용을 측정 measurement라 하며, 관측 observation이나 percept 인지라고도 합니다. 일반적으로 센서 측정은 약간의 딜레이를 가지고 있어 몇초 전의 상태를 제공하게 됩니다.

 

- 제어 동작 control anction

 제어 동작은 주위의 상태를 변화시키며 영향을 줄수 있습니다. 제어 동작의 예시로 로봇이 의동과 물체를 매니퓰레이션이 있겠습니다. 그리고 로봇이 아무런 동작을 하지 않더라도 상태는 변하고 있습니다. 그래서 로봇은 이동을 위해 모터를 사용하지 않더라도 항상 제어 동작을 하는것이라 볼수 있습니다. 실제로 로봇은 제어와 측정을 동시에 끊임없이 하게 됩니다.

 

 가설적으로 로봇은 이전의 모든 센서 측정과 제어 동작을 기록한다고 할수도 있습니다. 그러한 집합을 데이터(이들이 기억되지는 않더라도)로 보겠습니다. 두가지의 상호작용 타입과 마찬가지로 로봇은 두가지 다른 데이터 스트림을 가지고 있습니다.

 

- 관측 데이터 measurement data

 관측 데이터는 주위 환경의 순간적인 상태 정보를 제공하고 있씁니다. 예시로 카메라 이미지, 레이저 스캔, 기타 등등이 있습니다. 대부분의 경우 우리는 아주 작은 시간 간격은 무시하게 됩니다.(예를 들자면 레이더는 매우 빠른 속도로 스캔하지만 특정 시간대의 경우에만 측정을 합니다.) 시간 t에 대한 측정 데이터는 다음과 같이 표기합니다.

 

 

 이 책 전반에서 로봇은 시간에 대해 한번의 측정을 한다고 볼것이며 이 가정은 모든 알고리즘 단일 시간 단위에 대해 사용하겠습니다. 다음의 표기는 시간 $t_1$에서 $t_2$까지의 모든 측정들의 집합을 의미합니다.

 

- 제어 데이터 control date

 제어 데이터는 주위 환경의 상태 변화에 대한 정보를 전달합니다. 이동 로봇의 제어 데이터 예시로 로봇의 속도가 있으며 5초동안 초당 10cm씩으로 속도를 설정하면 이 동작 후에 실행 전보다 50cm 정도 앞에 있음을 추정할 수 있습니다. 그래서 제어 데이터의 주요 정보는 상태의 변화들을 알려주게 됩니다.

 

 제어 데이터의 대신하는것중 하나로 오도메터 odometer가 있습니다. 오도메터는 로봇의 휠 회전을 측정하는 센서인데, 이 센서는 상태 변화율에 대한 정보를 알려줍니다. 오도메터가 센서이더라도 로봇의 위치 변화를 주로 다루기 때문에 제어 데이터로 다루겠습니다.

 

 제어 데이터는 $u_t$로 표기하며, 시간 주기 (t-1; t]사이의 상태 변화를 나타냅니다. 이전의 표기법 처럼 제어 데이터의 시퀀스를 $u_{t1:t2}$로 정리할 수 있습니다.

 

 

 

 

 

 측정과 제어를 구분하는것은 매우 중요하며, 각각의 데이터는 아직 다루지는 않았지만 다른 역활을 하게 됩니다. 인지를 통해 환경의 상ㅇ태에 대한 정보를 얻으머 로봇의 지식을 늘릴수 있고, 동작을 통해서는 가지고 있는 노이즈 때문에 기존의 지식을 잃어버리게 됩니다.

 

300x250

+ Recent posts