1.5 KiB
모든 길목(10,9,6,13) 에 대한 정/역 방향에 대한 로직을 정의하고, 나머지 모든위치에서는 해당 길목으로 이동을 한다. 목적지에 따라서 길목을 지정한다
0001 10 역방향 : 0010(BS) 0012(BS) 0016(BS) 0001(BS), 정방향(회전필요) : [ 0010(BR) 0009(FR) 0007(BS) 0010(BS) : 방향전환 완료] - 동일 0015 09 정방향 : 0009(FS), 역방향(회전필요) : [ 0009(FL) 0010(BS) 0007(FL) 0009(FS) ] - 동일 0011 06 역방향 : 0006(BS) 0011(BS), 정방향(회전필요) : [ 0006(BL) 0007(FS) 00013(BL) 0006(BS) ] - 동일 버퍼 06 역방향 : 0006(BL) 0005(BS) ~ 나머지 0031까지는 BS상태로 계속 이동, 정방향(회전필요) : [ 0006(BL) 0007(FS) 0013(BL) 0006(BL) ] - 동일 0008 13 역방향 : 0013(BS) 0019(BS) 0008(BS), 정방향(회전필요) : [ 0013(BL) 0006(FL) 0007(BS) 0013(BS) ] - 동일
나머지모든 경유는 각 경유지로 해당 방향으로 그대로 길을 찾는다 목적지를 보고 목적지의 경유지까지 경로로를 계산한다 (A*)
동일노드가 목적지 일때에는 도킹방향이 맞고 마크센서가 ON 되어있는 경우에만 완료처리를 한다. 도킹방향이 맞고 마크센서가 OFF되어있다면 반대방향으로 한번 이동하고, 다시 역방향 이동하면서 MARK STOP 처리한다. 도킹방향이 맞지 않는 경우 일반 노드 검색처럼 경유지 처리한다
버퍼에서 버퍼로 이동할때에만 추가 코드를 적용한다