Xinit : 시작지점
Xrand : 공간확장 :경로 후보 확장을 위해 뿌리는 샘플링 포인트로 확장하는 점
Xnear : Xrand를 뿌려서 확장하고 기존의 점과 가장 가까운 점을 연결할 때 기존 트리에서 가장 가까운 점
확장하는 트리 T가 목적지에 도달하면 목적지부터 시작점까지 재귀적으로 트리를 검색하여 실시간 경로 선택
효과적 확장 방법
균등 분포 - 공간 내에서 균등 분포와 같은 것을 사용하여 샘플링 개념으로 점을 확장 및 선택
직진성을 고려하여 타원 분포 사용
Sudo code
Generator__RRT(Xinit, K, deltaT)
T.init(Xinit);
for k = 1 to K do
Xrand <- RANDOM_STATE();
Xnear <- NEAREST_NEIGHBOR(Xrand,T);
u <- SELECT_INPUT(Xrand,Xnear);
Xnew <- NEW_STATE(Xnear,u,deltaT);
T.add_vertex(Xnew);
T.add_edge(Xnear,Xnew,u);
Return T
차로 변경 및 추월 시나리오

장애물까지 고려한 경로 후보들 생성 -> 최적의 후보 찾음
RRT 알고리즘
시작지점에서 샘플링포인트들을 지속적으로 공간 탐색으로 확장함
시작지점과 도착지점이 정해지면 반복적으로 구성 공간 내에서 임의의 한 점 Xrand를 확장하면서 초기의 시작점으로만 구성된 검색트리 T를 확장하는 방식
편리함
포인트를 뿌리는 방식 조절 가능
장애물 부분에 샘플링 포인트 확장 X
장애물 인식 범위를 좀 더 크게 키워주는 작업 필요
장애물 인식 영역을 너무 딱 맞게 설정할 경우, 차량의 크기 등으로 장애물과 충돌할 가능성
샘플링 포인터
최대화 시 섬세한 경로 획득 가능, 계산량 많아짐
최소화 시 섬세한 경로 획득 불가, 계산량이 적어져 실시간성
이동체 대상 및 환경 특성을 고려하여 합리적인 설계 방법이 필요함
RRT* 알고리즘
랜덤한 샘플링 포인트로 optimal 함이 태생적으로 불가능함
RRT 알고리즘 + optimality 측면의 개선한 형태
최적 이동을 위한 비용함수 도입
new state의 neighbor들을 optimal path로 rewiring 작업 추가