우선 다소 긴 거리를 움직이더라도 길을 찾는 로봇을 만들었으나, 최단 거리를 찾는 것은 또 다른 문제였음.
이제는 기계와 프로그램의 조합보다는, 거의 프로그래밍을 통해서 최단 거리를 찾는 것임.
(물론 과정에서 로봇이 어떤 경로를 지나왔는지를 기록하도록 하기 위해서 약간의 기계적인 소통이 필요했음,)
로봇이 정확한 경로를 기록한 다음엔 이 경로를 최단 거리의 경로로 만드는 알로리듬은 이미 나와있으나, 이를 레고의 프로그램을 통해서 구현하는 것이 아주 어려운 과정이었음.
위에 보다시피, 코딩이 블럭으로 구성되어 있어서, 간단한 것처럼 보이지만. 사실은
위의 푸른색 블력 안에는 아래과 같은 블럭들이 여러게 있어서 아주 읽기 힘듬.
또 코딩의 과정이 조금만 길어지면 컴퓨터 화면을 벗어나게 되므로, 60인치 화면이 아닌 13인치 화면으로 프로그램을 만드는 것이 여간 어렵지 않았음. 나중에는 내가 만든 것도 내가 잘 이해를 못하게 되고, 약간의 변형도 쉽지 않은 작업이었음.
어쨌든, 약 3일을 노력 끝에 경로를 최적화한 미로 찾기 로븟을 완성.
비디오는 아래에.
Dijkstra’s shortest path algorithm 를 이용하면 미로 내에 loop가 있는 경우에도 경로를 찾을 수 있다고 한다. 한번 시도해 볼 생각인데, 우선 Lego의 소프트웨어가 아닌 EV3python 를 이용해서 위의 기능까지 수행할 수 있는 프로그램을 짜는 것이 우선인 것 같다. 여러 가지 일들이 정리가 좀 되면 시작해야지.