• 검색 결과가 없습니다.

충돌회피 가능도

문서에서 저작자표시 (페이지 32-36)

로봇과 장애물 사이의 거리는 이들 사이의 충돌 가능성을 위해 사용될 수 있 다. 또한 로봇이 이동하고 있으므로 로봇의 속도에 따라 충돌 가능성이 달라진다.

따라서 이동로봇의 충돌회피 가능도는 로봇과 장애물의 충돌을 피할 수 있는 가능 성이며, 로봇과 장애물의 거리와 로봇의 이동속도에 의해 다음과 같이 정의할 수 있다.

시각 에서 로봇과 장애물의 충돌회피 가능도는 로봇과 장애물사이의 거리

 와 로봇과 장애물에 대한 외향속도  에 관한 함수로 다음조건을 만족시 킨다.

(조건1) 거리 가 증가하면 충돌회피 가능도는 증가한다.

(조건2) 로봇이 장애물로의 외향속도  가 증가하면 충돌회피 가능도는 증 가한다.

조건 1에서 로봇과 장애물 사이의 거리  는 식 (11)과 같으며, 조건 2에서 외향속도  는 로봇이 장애물로부터 멀어지는 방향으로의 로봇의 속도를 의미 하며 식(12)와 같다. 로봇과 장애물 사이의 거리는 센서에서 얻어지는 거리 

로 표현될 수 있으며 센서가 감지할 수 있는 최대거리 이내에 있는 값이면 센서 값의 위치에 장애물이 있는 것으로 간주하는 것이 타당하다. 식 (11)에서 는 시각 에서의 로봇의 위치, 는 시각 에서의 장애물의 위치, 은 로봇의 반경을 나타낸다.

  ∥  ∥     (11)

    ·  (12)

로봇의 장애물에 대한 로봇좌표계에서 외향속도  는 로봇의 방향 및 속도

를 표현하는 로봇이동 방향벡터 와 센서방향 거리벡터 와의 내적을 의 미한다. 외향속도를 구하기 위해서는 로봇좌표계를 기준으로 각각의 거리센서가 측 정하는 방향을 알아야 한다. 그러므로 식(11)을 방향을 포함하는 센서벡터 로 나타내면 식(13)으로 다시 쓸 수 있다.

   ∠     (13)

로봇의 이동방향을 표현하는 벡터를 구하는 부분에 있어서    시각과 시 각의 로봇의 위치정보를 이용하여 로봇의 이동방향을 결정하게 되면 그림 11의  벡터처럼 로봇의 진행방향과는 다른 방향으로 속도방향이 결정되기 때문에 로봇의 직진속도와 회전속도를 산출하여 다음 샘플링 타임에 로봇이 이동할 곡률방향으로 이동벡터의 방향을 선택해야 한다(벡터).

그림 11. 로봇의 이동방향

로봇의 왼쪽바퀴의 속도를  오른쪽 바퀴의 속도를  이라고 할 때, 직진속 도 와 회전속도 는 식 (14), (15)와 같이 구해진다.

  



(14)

  



(: 양쪽 바퀴사이의 거리) (15)

직진속도 와 회전속도 를 알고 있을 때 로봇의 다음 샘플링 타임까지 이 동할 수 있는 직진거리 와 회전각도 는 식 (16),(17)과 같다.

     × ∆ (16)

     × ∆ (17)

위의 식에서 직진거리 와 회전각도 는 샘플링 타임 ∆에 의해 커지거나 작아질 수 있다. 샘플링 타임이 짧으면 짧을수록 직진거리와 회전각도는 작아지게 되며, 샘플링 타임이 0에 가까워질 경우 회전각도와 로봇이 이동할 수 있는 직진거 리 또한 0에 가까운 값이 산출되게 된다. 0에 가까운 회전각도와 직진거리를 이용 하여 실제 거리센서에 적용하면 로봇의 이동성이 전혀 고려되지 못하게 된다. 또한 샘플링 타임이 너무 길게 되면 회전각도와 직진거리가 상대적으로 너무 큰 값이 계산되게 되어, 상대적으로 로봇의 이동성에 너무 민감하게 반응 하게 된다. 따라 서 현재 로봇으로부터 엔코더 데이터 획득 주기와 로봇의 현재 움직임에 맞도록 적절한 비례상수를 선택하여 직진거리와 회전각도를 선정해 줄 필요가 있다.

직진거리와 회전각도의 증폭을 위한 비례상수 , 를 추가하여 로봇의 이동 방향벡터 를 표현하면 식(18)로 정의될 수 있으며, 로봇의 직진운동이 회전운

크게 설정하고, 반대로 회전운동이 더 크게 영향을 미치도록 하기 위해서는 값 을 더 크게 설정하면 된다. 일반적인 경우에는 , 를 샘플링 타임의 시간 길이 에 따라 직진거리와, 회전각도가 같은 비율로 영향을 미치도록 동일한 값으로 설정 하면 된다.

   · ∠  ×  (18)

센서 벡터와 로봇의 이동방향 벡터를 이용하여 로봇의 장애물에 대한 외향속 도  를 정의하면 식 (19)와 같다.

      ·  (19)

로봇이 움직일 때 장애물로의 외향속도가 구해지면 각각의 거리 센서에서 획 득된 데이터에 적용하여 가상센서의 값을 생성할 수 있다.

문서에서 저작자표시 (페이지 32-36)

관련 문서