NaverCloudPlatform / ARCeyeVLSDK

Other
12 stars 3 forks source link

VLSDK에서 [Warning] Bad Request #9

Open ccsmm78 opened 1 month ago

ccsmm78 commented 1 month ago

안녕하세요.

작년에 네이버 협력를 통해 맵 구축 후 arceye서비스를 사용 중에 있습니다. 구체적으로는 VLSDK 기본 프로그램을 사용하여 VL을 해보고 있습니다(VLSDKlib 버전은 2023년도 버전). (안드로이드폰, 갤럭시22)

  1. 그런데, VL pass/ VL fail 두가지 형태로 되는 경우도 있지만, 첨부 사진에서 볼 수 있듯이 노란색 글씨의 warning이 뜨는 경우가 종종 있습니다. 이 경우에는 오도메트리에 의한 데드레코닝도 심하게 튀는 경향이 있습니다.

image

현재 파악한 바로는 LTE 망의 속도가 비교적 느린 구간 (4 Mbps 미만)에서 주로 발생하는 현상으로 추정하고 있는데, 어떤 경우인지 확인 가능할까요?

참고로, 네트워크가 연결되지 않을 경우는 빨간색 글씨로 Error가 출력되어 위의 현상과는 다릅니다. 저희는, 사진의 warning이 발생하지 않는 조건을 만드는것에 관심이 있습니다.

yeongho-jeong commented 1 month ago

안녕하세요, 해당 오류는 매우 다양한 원인으로 인해 발생할 수 있습니다.

가장 흔하게 발생할 수 있는 현상은 현재 위치가 ARC eye의 스캔 지역을 벗어나는 경우, 혹은 요청한 이미지의 위치 추정 결과가 잘못된 경우 주로 발생합니다.

혹시 일정 구간에서만 해당 문제가 발생하나요? 아니면 전체적으로 모든 구간에서 해당 현상이 발생하고 있나요?

ccsmm78 commented 1 month ago

안녕하세요 개발자님 답변감사합니다~.

  1. 스캔 지역을 벗어나진 않고 경로상에서 진행할때 발생하는 현상입니다.
  2. 위치 추정 결과가 잘못될 경우 보통 VL fail로 알 수 있습니다. warning은 뭔가 다른 현상으로 보이고, 위치 인식 특성도 VL fail에 비해 많이 안 좋아(50미터 이상 먼곳으로 위치가 가버리는)지는 것 같습니다.
  3. 전반적으로 발생하는데, 아무래도 HTTP 메세지다보니 네트워크 밴드위스문제인가 의심이 되어 LTE 망의 속도를 연동해서 발생하는지를 체크해 보는 중입니다.
sinkyv commented 1 month ago

위 상황에서 같이 실험했던 1인입니다.

검색을 통해 400번 에러가 클라이언트의 신호에 문제가 있어 서버가 제대로 된 응답을 보낼 수 없다는 것을 알려주는 것이라고 보았습니다. LTE 신호의 속도가 낮아지며 발생하는 경우라고 생각하고 있는데, 혹 ArcEYE 위치 추정을 위한 이미지 요청 시 몇 ms 이내에 완결된 이미지 신호가 서버로 와야 된다든지 아니면 정해진 크기 이상의 이미지 신호가 와야 한다든지 하는 제한 요소가 있나요?

yeongho-jeong commented 1 month ago

네트워크 문제일 가능성은 낮아 보입니다. 속도가 낮은 네트워크 환경의 경우 요청과 응답이 느리게 들어올 수는 있어도 400 에러를 리턴하지 않고 있습니다.

혹시 문제가 다음과 같은 순서로 발생 했을까요?

  1. VLSDK 샘플앱 실행
  2. 주변 공간 스캔 시작
  3. VL 인식 성공
  4. 인식 성공 이후 400 에러 리턴

위와 같이 VL 인식 성공 이후에만 400 에러가 발생했나요? 아니면 VL 인식을 성공한적이 없음에도 400 에러가 발생한적이 있으신가요?

sinkyv commented 1 month ago

LTE 네트워크를 꾸민 후 시스템을 실행시켜보면 위에서 말씀하신 1~3번이 진행됩니다. 이후 로봇을 움직이다 보면 400번 에러가 발생할 때가 있고 이 경우 계속 400번 에러 메시지가 반복되는 형태였습니다. ArcEYE를 껐다 다시 켜면 VL Pass나 VL Fail이 나는 경우가 있지만 바로 400번 에러가 나오는 경우는 없습니다.

추가로 오늘 실험에서는 별 문제없이 잘 되다가 ArcEYE가 완전 Freezing이 되었었는데 이 때 LTE 네트워크를 확인해보니 거의 속도 측정이 안 될 정도의 상태였고, 잠시 로봇을 멈췄다가 네트워크 속도가 몇 Mbps 정도로 회복되었을 때 ArcEYE를 실행시켜보니 Freezing이 해소되었었습니다. 이 때는 400번 에러 없이 VL Pass 혹은 VL Fail이 나왔었구요.

yeongho-jeong commented 1 month ago

한 번 400 에러가 발생한 이후 계속 400 에러가 발생하는 상황은 위치가 잘못 계산되어 현재 위치가 스캔 공간을 벗어 났다고 판단 되는 경우로 보입니다. VLSDKSettings에서 VL Quality를 HIGH로 설정하시면 해당 현상이 완화될 수 있습니다. 문서의 VL Quality 조절 항목을 참고해주세요. VL Quality를 HIGH로 설정해도 해당 문제가 발생하면 말씀 부탁드립니다.