자동 미로 미로 솔버를 만들고 웹캠을 사용하여 미로를 제어하고 있습니다.
다른 포럼의 제안에 따라 현재 미로의 공 움직임을 적어도 한 방향으로 제어하려고합니다. 그래서 두 좌표 466,288과 466,152 사이의 공 움직임을 제어하려고합니다. 스테퍼 모터 컨트롤러 보드에 대한 입력은 시간이며 각 축, 즉 x 및 y에 대해 회전 할 단계가 없습니다.
내가 사용하는 스테퍼 모터 컨트롤러 보드는 에그 봇 스테퍼 모터 컨트롤러 보드입니다. http://www.sparkfun.com/products/10025
따라서 두 지점 사이를 이동하려면 두 지점 사이에 288과 152 (260240230 ... 150) 사이에 여러 가지 웨이 지점을 만들고 공의 움직임을 수정해야합니까?
내 이미지 처리 알고리즘은 공이 회전하여 구멍에 빠지는 공을 추적하기에 충분히 빠르지 않습니다.
일부는 다음 비디오에 표시된대로 표준 템플릿을 사용하고 경로의 편차에 대해 공의 움직임을 수정하도록 제안했습니다.
http://www.youtube.com/watch?v=Prq78ctJ2Rk&feature=player_embedded
또한 이미지 처리 도구를 통해 볼 이동을위한 웨이 포인트를 사용하여 동일한 문제를 해결했습니다. 같은 문제에 대한 해결책이 너무 많으면 문제 해결에 혼란을 느낍니다. PID 컨트롤러를 구현해야한다는 것을 알고 있습니다. 그러나 문제를 단계별로 해결하려면 어떻게해야합니까? 나는 문제를 해결하는 데있어 헤드 스타트를 찾는 데 어려움을 겪고 있었고 좌절했다.
내 설정은 다음과 같습니다
... 그리고 여기 내 소프트웨어의 스크린 샷이 있습니다 :
개정 2 : 나는 또한 새로운 문제에 직면하고있다. 이전에는 Arduino 직렬 포트 Java 애플릿을 통해 스테퍼 모터를 제어했다. 애플릿을 사용하여 스테퍼를 구동 할 수 있습니다.
직렬 포트를 통해 통신하려고 할 때마다 보드를 재설정해야합니다. 또한 스테퍼 모터는 명령이 전송되지 않을 때 작은 간격으로 자체적으로 전원을 공급합니다. 스테퍼 모터가이 모드로 들어가면 보드를 재설정하지 않고 보드를 제어 할 수 없습니다. 도움을 주시면 감사하겠습니다.
개정 3 :
PID 알고리즘을 구현 한 곳에서 약간의 진전이있었습니다. 아래 비디오를 찾으십시오 : http://www.youtube.com/watch?v=MEfp7RqPmqY
이제 PID 알고리즘이 구현되는 속도에 문제가 있습니다. 실제로 내 이미지 처리는 200ms의주기를 끝내고 공을 식별하고 명령을 스테퍼 모터 컨트롤러 보드로 보냅니다. 직렬 포트에 방향 전환 명령이 전송되었지만 스테퍼는 계속 같은 방향으로 회전합니다. 위의 비디오에서 이상한 행동을 찾을 수 있습니다.
내 생각은 계산 된 PID 값이 100보다 크면 100을 보내야하는 천장으로 PID 값을 제한해야한다는 것입니다. 나는 이것에 대한 당신의 생각을 듣고 싶습니다.
PID 컨트롤러를 구현 한 방법은 템플릿 일치 알고리즘을 사용하여 템플릿의 시작점을 식별하고 다른 템플릿 일치 알고리즘을 사용하여 공을 식별하는 것입니다. 이제 공을 시작점 템플릿의 중심으로 옮겼습니다. PID 알고리즘으로 직선을 따르도록하려면 어떻게해야합니까?
개정 4 :
궤적을 분리했지만 시작점에서 올바른 픽셀 좌표를 인쇄하는 올바른 기능을 찾을 수 없습니다. 이견있는 사람?