필드에서 객체를 찾는 속도면에서 가장 좋은 알고리즘은 무엇입니까?필드에서 객체를 찾는 가장 빠른 알고리즘
필드는 측면 길이가 30.48 cm 인 18 x 18 정사각형으로 구성됩니다. 로봇은 정사각형 (0, 0)에 배치되고 그 작업은 방해물을 피하면서 광원에 도달하는 것입니다. 광원을 찾기 위해 로봇은 360도 회전하여 가장 밝은 판독 값을 가진 각도를 찾은 다음 소스를 향해 이동합니다. 100 cm에서 광원을 안정적으로 감지 할 수 있습니다.
현재 구현중인 방식은 각 타일에 대한 정보를 2x2 배열에 저장하는 것입니다. 타일의 가능한 값은 미개척 (기본값), 차단 (장애물 있음), 비어 있음 (아무 것도 없음)입니다. 나는 아이들이 위치 (i + 3, j) 또는 (i, j + 3)에있는 DFS 알고리즘을 사용하려고 생각하고있다. 그러나 각 어린이에서 가장 높은 빛의 판독 값을 갖는 각도를 찾기 위해 회전을 할 것이라는 사실을 고려할 때, DFS보다 광원을 더 빨리 찾을 수있는 알고리즘이있을 수 있다고 생각합니다. 또한 로봇이 바닥에있는 그리드 선을 사용하여 x 및 y 위치를 수정하기 때문에 x 및 y 방향으로 만 이동합니다.
이 작업을 수행하는 데 빠르고 신뢰할 수있는 알고리즘을 제안 할 수 있다면 감사하겠습니다.
광원이 하나뿐입니까? 그렇다면 360도 회전을 피하고 피드백을 사용하여 빛의 강도가 감소하기 시작하는 방향으로 머리를 향하게합니다. (항상 항상 강도를 높이기 위해 움직입니다) 학교에서 비슷한 일을했습니다. – ajon
최소화하려는 것은 무엇입니까? 전산 속도, 또는 로봇의 총 이동 시간? 어쨌든 4 개 이상의 사각형에서 광원을 감지 할 수 없다면 어떻게 작동합니까? 로봇이 뭔가를 볼 때까지 주변을 검색해야합니까? – eh9
로봇의 총 이동 시간을 최소화하려고합니다. 로봇은 그것이 광원 (즉, 100cm 이내)을 신뢰할 수있게 찾을 때까지 주변을 검색해야합니다. 현재 타일에서 광원을 찾을 수 없으면 DFS 알고리즘에 의해 결정된대로 다음 타일로 이동합니다. 이제 DFS가 광원이 현재 타일에서 발견되지 않은 경우 다음 타일로 이동할 타일을 결정하는 최선의 선택인지는 확실하지 않습니다. – kpatelio