방위끌림 응용해서 만든 어뢰 시뮬레이터인데 파란색이 어뢰, 빨간색이 목표물 궤적이거든?
보면은 직선등속운동하는 배를 리드샷해서 맞추는 어뢰의 충돌궤적을 볼수있음
방위끌림을 0으로 만들면 충돌경로가 나온다길래 단위시간당 상대방위 변화율 Da를 비례게인 P 와 곱해서 진행방향에 바로때려박은건데
이론적으로는 방위끌림을 0으로 만들어서 직선 충돌경로가 깔끔하게 나와야하지만 보다시피 비선형임, 두번째 플롯은 상대방위각 나타낸건데
처음에 0에 수렴하는가 싶더니 점점 올라가서 오차를 만들다가 끝에서 발산해버림, 내가 보기엔 천천히 올라가는것만 잡아도 끝에 발산하는건 자연히 없어질거같은데
저걸어케잡는지 모르겠어, 오버슛해서 진동하는것도 아니고 그냥 지혼자 천천히 올라가버리는데 PD제어를 해도 안되고 도저히 잡을수가없음.
알고리즘의 하자인거같은데 Da를 P제어로 한게 잘못된걸까?
*
Da = 자신의 앞을 0도로 기준했을때 목표물을 바라보는각도의 변화
P제어 = 비례제어, 오차값(희망값과 현재값의 차이)에 제어상수 P 를 곱한만큼 제어함, P가 너무작으면 희망값까지 가기에 오래걸리고 너무크면 오버슛이 생겨 희망값을 중심으로 파동침 (제어란 현재값을 희망값까지 끌어올리는 것을 말함)
방위끌림 ~= Da = 목표물을 바라보는 각도의 변화, 방위끌림이 0일때 그대로 직진하면 충돌함
그니깐 저 방위끌림을 0으로만들어서 충돌경로를 만들려는거임, 근데 목표물이 직선등속운동을 하고있을때는 처음에 방위끌림을 0으로 만들어주면 직선으로 가서 충돌하는데 충돌은 하는데 궤적이 비선형으로 나온다는거지
왜 너만아는단어를 당연하다는듯이 쓰냐? - dc App
그래서 설명 추가함
azimuth가 뭐임 - dc App
1번그래프 x축은 뭐고 단위는 뭐고 각각 - dc App
1번그래프는 그래프보다는 그냥 궤적이라고 보면됨, 2번그래프 x축은 시간, y축은 어뢰진행방향을 0도로 기준했을때 목표물의 방위
그래프는 모르겠는데 일단 방위끌림 없게만들려면 어뢰가 등속직선운동하게해야함 - dc App
근데 물속에서는 공기중과다르게 항력이 그때그때달라서 거의불가능할듯 - dc App
그래서 방위끌림없게만들기는 힘듦 ㅇㅋ? - dc App
맞는말인데 저건 저항 관성 같은 역학 안넣은거임 원래는 직선이나와야정상
관성고려해도 완벽히직선은 절대불가능함 - dc App
그런가..
그리고 그래프보니까 물이 왼쪽으로흐르는거같은데 어뢰면 추진력을 한방향으로만받아서 궤적직선되게하는건 불가능할거같은데 애초에 뭐이런걸 물어보냐 - dc App
물같은거 안흐름
어뢰라하지않았음? 저프로그램을 어떻게돌린지를 알아야 대답을하겠는데 내가 - dc App
ㄱㄷ 코드에 주석다는중
아 인제이해했네 아래서위로 쏘는거구나 - dc App
저렇게되는이유가 시간이지남에따라 로켓 질량이 감소해서 아래서위로받는 가속도가 일정하지가않음 - dc App
근데 물속에서 항력 고려하면 직진하게 만들수는 있음 물론 진행방향 반대로 힘을 받으니까 여전히 등속으로는 못감 - dc App
흠...그렇겠지?
아니다 등속으로도 갈수있겠네 - dc App
생각을잘못했다 너가 어케프로그래밍을 한진모르겠는데 변수좀만 바꾸면 직진하게만들수있음 - dc App
아니다 ㅋㅋ 직진절대못하네 추진력이랑 항력은 동일선상에서작용하는데 중력은 연직아래로작용하니까 애초에 직진하게만들수가없다 - dc App
또고려해야할게 있나? - dc App
아 부력도있었네 ㅋㅋ - dc App
근데 부력있어도 어뢰밀도를 물이랑 똑같게만들지는 못하니깐 여전히 직진은 불가능할듯 - dc App
같이고민해줘서 고마워 디비자러감
근데 r&e하냐? ㅋㅋ rest and enjoy time 아니었나 되게열심히하네 - dc App