2023.11.15 DAY41
칼만필터를 적용했더니!! 어제보다 잘간다! 그치만 칼만필터로 인해 생기는 문제들도 있었다... 이를 PID로 조절하기는 힘들것 같아서 초기화를 생각했지만 더 안된다ㅠㅠ
생각보다 값을 조절하고 조절하면 점점 이상해지는 경우가 많아서 어렵다... 차선인식 문제도 있겠지만 제어가 생각보다 어렵다ㅠㅠ
🚗 실습 과정 및 어려웠던 점
- pid 제어중
- 칼만필터 (클래스로 옮기는 과정에서 빠진 내용이 많았다)
- 칼만필터의 미분값 조정중
- u자 구간에서 계속 차선을 잃어버린다ㅠ
- 회전 구간에서 너무 빨리 회전해버려서 인코스를 밟는다
- roi를 가장 아래로 내렸다
- 회전 속도를 조금 높여보았다
- 칼만필터 변수, 영상 저장명을 yaml로 뺐다
그래도 칼만필터 적용하니까 더 잘된다!!!!
- 컴퓨터에서 갑자기 roslaunch가 실행안됐다. 메모리 문제였던 것 같은데 지워도 해결이 안되더니 컴퓨터를 껐다켜니까 된다....허허....
칼만 필터
- 이전에 예측한 값을 계속 사용해여하는데 사용하지 않고 현재의 값으로 계속 계산하는 문제 발생. 기존의 값 사용하도록 변경
- 한동안 차선을 인식하지 못하면 차선이 없다고 판단하여 0 또는 640으로 초기화해주고 싶었다
- 이를 적용하니 잘 주행하던 곳도 실패했다ㅜㅠㅠ
- 아마 '한동안'이라는 시간을 잘못 지정하였거나 초기화로 인해 이전에 학습되는 것들이 날아가서 칼만필터가 이상해 진것 같기도 하다(지금 생각해보니 초기화하면 현재의 기울기, 절편을 사용하는데 이 값이 0이 되어버리니 이상해지는게 당연하네..?)
- 그런데!!
- 생각해보니.. 미분값을 조정하여 빨리 0과 640에 수렵하도록하면 된다!!!
- 아마 절편 미분값을 크게하면 되지 않을까!?!?
칼만필터 state matrix의 원소들의 의미
- 기울기 미분 : 각속도
- 기울기가 각도를 의미하고 이를 미분하면 각속도
- 절편 미분 : 속도
- 의미는 이해했지만 어떻게 작동되는지는 잘 이해되지 않았다.
- 그래서 직접 값을 변경해보면 rosbag으로 실험해보았다.
- 기울기 미분값이 양수이면 안쪽으로 기운다. 그래서 음수 선택 / 절대값이 클수록 기울기가 빨리 변한다.
- 절편 미분값이 양수이면 차선이 안쪽으로 이동한다. 평행이동 느낌! 그래서 음수 선택!! / 절대값이 클수록 빨리 이동한다.
값 조정 순서
아마 내 생각에...
1. 칼만필터 미분값
2. 속도
3. pid ( p, d, i 순서)