제어...어렵다ㅠㅠ 무슨 값을 어떻게 조정하면 좋을지 감이 안 잡히니 너무 답답하다. 제어를 조정해서 해결될 문제일까라는 근본적인 의문이 들기도 하지만 바꿔버리면 시간내에 힘들 것 같아서 최대한 제어로 해보기로 했다!! PID 값, 칼만필터 매개변수, 속도, angle값들을 바꿔보면서 거의 50번은 주행시켜본것 같다. 다 기록하고 영상을 저장해가며 확인했지만 너무 많은 변수를 바꾸다보니 헷갈리고 이전에 뭐했는지 기억하기 어려웠다ㅠㅠ
결국 2군데에서 계속 자이카가 이탈했고 아직 해결하지 못했다. 내일 일찍가서 이것저것 조절을 해봐야겠다. 조금 차선 이탈하는 것은 감수하고 완주를 목표로 하고 있다!! 제발 내일 완주를 성공했으면 좋겠다ㅠㅠㅠ
주행 코스이다. 아래 3개의 문제구간에서 자이카가 이탈한다. 문제구간 1과 2가 가장 큰 문제이고 이를 해결하기 위해 파라미터를 조정하다보면 구간3에서도 가끔 이탈이 발생한다.
문제 구간1의 경우 우회전을 할 때 회전 각도가 적거나, 늦게 회전하면 그 후 왼쪽 차선이 가려져 이탈한다. 사실 칼만필터에서 예측한 lpos값이 0으로 느리게 돌아가서 발생하는 문제인 것 같은데 이를 해결하면 다른 곳들에서 문제가 발생한다. 제어로 최대한 조절하고자 한다. 왜냐하면 문제 구간1 바로 전에 자이카를 놓고 주행시키면 통과하기 때문이다ㅠㅠ
여기가!!! 진짜 문제이다ㅠㅠ 우회전을 많이, 빨리하면 통과하는데 조금이라도 늦게, 적게하면 이탈해버린다. 그리고 왼쪽 차선을 오른쪽 차선으로 인식하여 차선을 이탈한다.... 차선 안에 제대로 놓고 시작하면 된다... 진짜 너무 답답하다ㅠㅠ
차선이 없는 경우 칼만필터를 사용하여 pos값을 예측하는데 가끔 pos값이 프레임 범위 밖으로 벗어나는 경우가 생겼었다!
이를 해결하기 위해 프레임 범위에서 벗어나면 0 또는 640으로 지정해주는 부분을 추가하였다.
차선이 인식되지 못하는 경우, 외쪽은 0, 오른쪽은 640으로 빨리 이동시키기 위해 칼만필터의 state 파라미터중 기울기 미분값을 조절해보았다. 문제 구간2가 가장 큰 문제였기에 이 부분에서 집중적으로 실험해보았다.
-50부터 -10사이의 값으로 실험을 해본 결과 -25로 결정하였다! -25보다 작아지면 너무 빨리 값이 날아가버려서 문제가 발생한다. 반대의 경우는 조금 늦게 변경되서 코너에서 회전이 작아서 차선을 이탈한다.
코너 부분에서 너무 빨리 회전해버려서 인코스 차선을 밟는 경우가 많았다. 이를 해결하기 위해 offset을 조금 아래로 위치하면 가까운 차선에 따라 이동하지 않을까싶어 offset을 조정해보았다.
현재 265인데 270과 275를 해본 결과, 코너에서 차선을 놓지는 경우가 발생하고 기존보다 차선을 인식하는 성능이 안좋아져서 원래값인 265로 결정하였다.
ROI를 작게하고 나서 차선인식을 못하는 경우가 발생하여 원래 20이었던 min_line_length threshold를 10으로 변경하였다.
imshow를 제외하면 수행속도가 갑자기 확! 빨라진다. 좋은거겠지만 그러면 다시 파라미터를 수정해야하고 자이카가 어떻게 진행되는지 확인하기 어려우니 그냥 imshow를 진행한다.
최대속도, 최소속도, 가속step, 감속step을 조절하였다.
이게 가장 문제이다... 어떤식으로 어떻게 조절해야할지 감이 잡히지 않았고 중간중간 알고리즘을 수정하면 또 다시 맞춰야해서 무한 반복이었다ㅠㅠ