Boards
글 수 27,479
안녕하세요 이준노입니다.
예전에 GPS로 차량 속도를 측정하는 것의 문제점에 대해서 말씀드린 적이 있습니다.
"GPS 속도계가 부정확한 이유"에 대해 다시한번 고민을 해 보았습니다. 고민 결과 차량용 GPS가 부정확한 이유를 3가지로 다시 제시해 봅니다.
1. 공인된 시험기관에서는 GPS속도계를 사용하지 않는다.
공인된 자동차 시험기관이나 공신력있는 자동차 잡지사에서 GPS를 속도 측정용으로 사용하는 사례가 없습니다. 모두 광학식 속도 측정계를 사용합니다. (초당 수십~수백회 바닥 이미지를 트래킹하는 - 광마우스와 같은 방식)
2. GPS의 속도계가 차량의 속도 측정시 "등판각도"를 고려하지 않는다.
GPS의 도로지도는 고도와 구배가 고려되지 않은 2차원 지도로 구성되어 있습니다. 그래서, 오르막이나 내리막을 주행시 평지에서의 좌표이동속도로 속도를 표시하기 때문에 실제 속도보다 느린 속도를 표시해 줄 것으로 보여집니다. 그래서,
" 실제 차량 속도 = GPS표시속도 / Cos{등판각도} "
가 되겠습니다.
고로, Cos {등판각도}는 항상 1보다 작은 값이므로 도로가 평지가 아닐때 GPS표시속도보다 실제 차량속도는 항상 더 빠릅니다.
그런데, 일반적인 주행 도로에서 등판각도가 5도를 넘는 경우는 많지 않으므로 등판각도에 따른 GPS속도 표시의 오차는 크지 않을 것으로 생각됩니다.
3. GPS 좌표 측정 오차
현재 상용 GPS의 위치 측정 오차는 8m 정도로 알려져 있습니다. 원래 GPS의 UERE(User Equivalent Range Error)는 28m 정도이나 최신 상용 GPS들의 실제 측정 오차는 5~10m 정도인 것으로 보여집니다. EU의 갈릴레오프로젝트가 상용화 되기 전까지는 어쩔 수 없는 부분이겠죠. (갈릴레오 프로젝트는 오차 1m 미만이라네요)
그럼 이 GPS측정오차가 실제 표시속도에 어떤 영향을 미칠까요?
보통 GPS의 속도표시는 1초마다 갱신됩니다. 만약 차량이 시속 100km 로 주행하고 있다면, 초속 27.8m 가 됩니다. 즉 1초에 27.8m 이동합니다. 그런데, GPS의 측정오차가 8m라고 한다면, 이론적인 측정 오차는 최대 +-8m 하여 최대 16m까지 날 수가 있고, 이렇게 되면, 실제 속도 100km/h 일때 최소 42.5Km/h, 최대 157.7Km/h 라는 대단히 큰 측정 오차가 발생할 수 있게 됩니다. 하지만 2초간 측정된 두 지점이 실제값에서부터 벗어날 확률은 2차원 오비탈함수적(?)으로 정해질 것이므로 일상적으로 이론적인 최소값이나 최대값으로 잘못 측정될 확률은 극히 낮습니다만, 구지 수치로 표현하자면, 적어도 +-10Km/h 의 속도측정오차가 발생할 수 있을 겁니다.
그런데, 상용 GPS들은 단순히 GPS좌표만을 가지고 매초 속도를 표시해 줄 경우 위와 같이 큰 오차가 발생할 수 있기에 이전 5초가 표시 속도를 누적평균한 값과 비교하여 그 차이의 1/2만 반영하는 식으로 측정값을 보다 이해하기 쉬운(?)값이 되도록 속도곡선을 매끄럽게 가공하여 표시하는 알고리즘이 들어가 있을 것입니다. 그런데 이런식으로 속도를 표시해 주는 것은 우리가 믿고싶은 값을 표시해 주는 것이지 실제 정확한 속도를 표시해 주는 것은 아니라는 문제가 있습니다.
그럼에도 불구하고, GPS자체가 가지는 오차값은 0~200Km/h 정도의 주행속도를 가지는 자동차에게는 1초마다 속도를 표시해 주기에는 너무 큰 측정오차를 가지고 있습니다.
다른 의견 있으시면 리플 부탁드립니다.
참고로 저의 의견은 GPS속도표시가 자동차의 계시판보다 오차가 많다/적다를 이야기하고자 하는 것이 아니고, 객관적인 레퍼런스로 삼기에는 문제가 있을 수 있다는 취지입니다.
예전에 GPS로 차량 속도를 측정하는 것의 문제점에 대해서 말씀드린 적이 있습니다.
"GPS 속도계가 부정확한 이유"에 대해 다시한번 고민을 해 보았습니다. 고민 결과 차량용 GPS가 부정확한 이유를 3가지로 다시 제시해 봅니다.
1. 공인된 시험기관에서는 GPS속도계를 사용하지 않는다.
공인된 자동차 시험기관이나 공신력있는 자동차 잡지사에서 GPS를 속도 측정용으로 사용하는 사례가 없습니다. 모두 광학식 속도 측정계를 사용합니다. (초당 수십~수백회 바닥 이미지를 트래킹하는 - 광마우스와 같은 방식)
2. GPS의 속도계가 차량의 속도 측정시 "등판각도"를 고려하지 않는다.
GPS의 도로지도는 고도와 구배가 고려되지 않은 2차원 지도로 구성되어 있습니다. 그래서, 오르막이나 내리막을 주행시 평지에서의 좌표이동속도로 속도를 표시하기 때문에 실제 속도보다 느린 속도를 표시해 줄 것으로 보여집니다. 그래서,
" 실제 차량 속도 = GPS표시속도 / Cos{등판각도} "
가 되겠습니다.
고로, Cos {등판각도}는 항상 1보다 작은 값이므로 도로가 평지가 아닐때 GPS표시속도보다 실제 차량속도는 항상 더 빠릅니다.
그런데, 일반적인 주행 도로에서 등판각도가 5도를 넘는 경우는 많지 않으므로 등판각도에 따른 GPS속도 표시의 오차는 크지 않을 것으로 생각됩니다.
3. GPS 좌표 측정 오차
현재 상용 GPS의 위치 측정 오차는 8m 정도로 알려져 있습니다. 원래 GPS의 UERE(User Equivalent Range Error)는 28m 정도이나 최신 상용 GPS들의 실제 측정 오차는 5~10m 정도인 것으로 보여집니다. EU의 갈릴레오프로젝트가 상용화 되기 전까지는 어쩔 수 없는 부분이겠죠. (갈릴레오 프로젝트는 오차 1m 미만이라네요)
그럼 이 GPS측정오차가 실제 표시속도에 어떤 영향을 미칠까요?
보통 GPS의 속도표시는 1초마다 갱신됩니다. 만약 차량이 시속 100km 로 주행하고 있다면, 초속 27.8m 가 됩니다. 즉 1초에 27.8m 이동합니다. 그런데, GPS의 측정오차가 8m라고 한다면, 이론적인 측정 오차는 최대 +-8m 하여 최대 16m까지 날 수가 있고, 이렇게 되면, 실제 속도 100km/h 일때 최소 42.5Km/h, 최대 157.7Km/h 라는 대단히 큰 측정 오차가 발생할 수 있게 됩니다. 하지만 2초간 측정된 두 지점이 실제값에서부터 벗어날 확률은 2차원 오비탈함수적(?)으로 정해질 것이므로 일상적으로 이론적인 최소값이나 최대값으로 잘못 측정될 확률은 극히 낮습니다만, 구지 수치로 표현하자면, 적어도 +-10Km/h 의 속도측정오차가 발생할 수 있을 겁니다.
그런데, 상용 GPS들은 단순히 GPS좌표만을 가지고 매초 속도를 표시해 줄 경우 위와 같이 큰 오차가 발생할 수 있기에 이전 5초가 표시 속도를 누적평균한 값과 비교하여 그 차이의 1/2만 반영하는 식으로 측정값을 보다 이해하기 쉬운(?)값이 되도록 속도곡선을 매끄럽게 가공하여 표시하는 알고리즘이 들어가 있을 것입니다. 그런데 이런식으로 속도를 표시해 주는 것은 우리가 믿고싶은 값을 표시해 주는 것이지 실제 정확한 속도를 표시해 주는 것은 아니라는 문제가 있습니다.
그럼에도 불구하고, GPS자체가 가지는 오차값은 0~200Km/h 정도의 주행속도를 가지는 자동차에게는 1초마다 속도를 표시해 주기에는 너무 큰 측정오차를 가지고 있습니다.
다른 의견 있으시면 리플 부탁드립니다.
참고로 저의 의견은 GPS속도표시가 자동차의 계시판보다 오차가 많다/적다를 이야기하고자 하는 것이 아니고, 객관적인 레퍼런스로 삼기에는 문제가 있을 수 있다는 취지입니다.
2006.07.19 15:09:53 (*.155.111.1)
그냥 문득 떠오른 생각입니다..GPS 오차 측정방법인데요..예를들어 계기판 속도 100, 150, 200km/h등의 속도로 정속 주행하면서 GPS 게시 속도를 측정합니다. 계기속 100km/h로 정속주행시 거의 항상 95km/h로 나온다던가..+/- 5km/h라던가....장소와 시간, 구간등의 많은 표본을 구해서 측정해보면 GPS 자체에서 올수 있는 오차가 얼마나 되는지 측정할 수 있다고 봅니다..
2006.07.19 15:12:26 (*.94.41.89)

안녕하세요. 지난번에 제가 굴비를 단 기억이 있네요.
아래 글은 기술적인 100% 검정이 아니므로 참고정도로 생각 해 주셨으면 합니다.
1. 아무래도 순간 속도 보다는 실제 달려온 길의 길이를 측정하는 것에는 터널 등에서 사용 불가한 GPS 보다는 전문 장비가 유리할 것 같습니다.
2. GPS자체가 기본적으로 3차원 측정이 기본이므로 등판 각은 기본적으로 고려 될 것 같습니다.
무엇보다 등판 각도로 인한 속도 오차가 나오려면 그 각도라는게 꾀나 차이가 나야 할 것 같습니다.
일반적인 상식 수준으로 만들어진 도로라면 등판각에 의한 오차는 측정 수치에 큰 영향을 끼치지 못할 것으로 생각 됩니다.
3. GPS의 오차라는 것이 실시간으로 바뀌는 오차가 아닌 것으로 알고 있습니다.
예전 의도적인 오차가 약 100m 정도였습니다. 이 오차도 역시 실시간 오차가 아니라 첫 측정 지점에 대해서 절대 위치에서 약 100m 정도의 부정확한 위치를 준다고 이해 할 수 있는 내용입니다.
즉 한번 인식한 좌표를 기준으로 계속적으로 상대적인 위치를 계산하는 방식이 GPS 기기의 위치 추적 기법임을 감안하면 일반적으로 말하는 GPS가 계산해 내는 속도 오차는 거의 없다고 봐야 할 것입니다.
이전에 GPS측정 좌표를 지도에 mapping하는 S/W관련 하여 일을 할 때, 1~2시간 내에 측정된 GPS 좌표를 확인 할때 1초 간격의 좌표가 일정 수준 이하의 "흔들림"을 유지 함을 확인 하 수 있었습니다.
위 내용은 DGPS 를 이용하는 것만 보아도 명백해 질 것 같습니다.
그리고 GPS갱신하는 1초동안의 속도 계산도 트래킹이 가능한 상태에서는 꾀 정확 할 것입니다.
실제 급가속, 급감속 시에 1~2초 늦게 표시하나 이것은 GPS에서 발생하는 최소 1초간의 delay와 Navigation기기 자체에서 지체되는 시간까지 감안해야 할 것입니다.
아래 글은 기술적인 100% 검정이 아니므로 참고정도로 생각 해 주셨으면 합니다.
1. 아무래도 순간 속도 보다는 실제 달려온 길의 길이를 측정하는 것에는 터널 등에서 사용 불가한 GPS 보다는 전문 장비가 유리할 것 같습니다.
2. GPS자체가 기본적으로 3차원 측정이 기본이므로 등판 각은 기본적으로 고려 될 것 같습니다.
무엇보다 등판 각도로 인한 속도 오차가 나오려면 그 각도라는게 꾀나 차이가 나야 할 것 같습니다.
일반적인 상식 수준으로 만들어진 도로라면 등판각에 의한 오차는 측정 수치에 큰 영향을 끼치지 못할 것으로 생각 됩니다.
3. GPS의 오차라는 것이 실시간으로 바뀌는 오차가 아닌 것으로 알고 있습니다.
예전 의도적인 오차가 약 100m 정도였습니다. 이 오차도 역시 실시간 오차가 아니라 첫 측정 지점에 대해서 절대 위치에서 약 100m 정도의 부정확한 위치를 준다고 이해 할 수 있는 내용입니다.
즉 한번 인식한 좌표를 기준으로 계속적으로 상대적인 위치를 계산하는 방식이 GPS 기기의 위치 추적 기법임을 감안하면 일반적으로 말하는 GPS가 계산해 내는 속도 오차는 거의 없다고 봐야 할 것입니다.
이전에 GPS측정 좌표를 지도에 mapping하는 S/W관련 하여 일을 할 때, 1~2시간 내에 측정된 GPS 좌표를 확인 할때 1초 간격의 좌표가 일정 수준 이하의 "흔들림"을 유지 함을 확인 하 수 있었습니다.
위 내용은 DGPS 를 이용하는 것만 보아도 명백해 질 것 같습니다.
그리고 GPS갱신하는 1초동안의 속도 계산도 트래킹이 가능한 상태에서는 꾀 정확 할 것입니다.
실제 급가속, 급감속 시에 1~2초 늦게 표시하나 이것은 GPS에서 발생하는 최소 1초간의 delay와 Navigation기기 자체에서 지체되는 시간까지 감안해야 할 것입니다.
2006.07.19 15:53:18 (*.74.230.252)

GPS 위치 측정방식은 위성과의 상대적인 위치로 계산하지만, GPS어플리케이션 입장에선 위도와 경도로 표시되는 절대 좌표로 입력될 것이기에 절대값을 가지고 속도를 계산한다고 봐야 할 것 같습니다.
상용 GPS프로그램들이 속도 표기시 고도를 표기하지 않는다고 말씀드린 이유는 주행하면서 고도를 표시를 보니 멈춰있을때도 해발 10m 였다가 바로 1초 후엔 해발 30m 로 표기해 주는 등 고도표시가 엉망이었습니다. 만약 이 고도정보가 속도측정시 반영이 된다면 속도표시도 그에 맞춰 막 바뀌어야 할텐데 속도표시는 표시되는 고도가 계산에 반영되지 않음을 확인할 수 있었습니다. 또한 3각 측량식으로 표시가 가능한건 2차원 지도일 때이고 3차원(고도포함) 좌표는 위성이 한개 더 있어야 하는데, 그럼에도 불구하고 시그널 좋은 위성이 5개쯤 잡혀 있는 상태에서도 고도표시는 들쭉날쭉 부정확했습니다.
1초간격으로 GPS칩셋이 어플리케이션에 쏴주는 좌표는 원래의 좌표에서 반경 10m 정도의 오차가 있는 오비탈함수적인 절대좌표일 것이라고 보여지고 그걸 어플리케이션이 받아 1초 전에 입력받은 절대값과의 차이를 비교하여 속도를 표시해 준다고 보여집니다.
상용 GPS프로그램들이 속도 표기시 고도를 표기하지 않는다고 말씀드린 이유는 주행하면서 고도를 표시를 보니 멈춰있을때도 해발 10m 였다가 바로 1초 후엔 해발 30m 로 표기해 주는 등 고도표시가 엉망이었습니다. 만약 이 고도정보가 속도측정시 반영이 된다면 속도표시도 그에 맞춰 막 바뀌어야 할텐데 속도표시는 표시되는 고도가 계산에 반영되지 않음을 확인할 수 있었습니다. 또한 3각 측량식으로 표시가 가능한건 2차원 지도일 때이고 3차원(고도포함) 좌표는 위성이 한개 더 있어야 하는데, 그럼에도 불구하고 시그널 좋은 위성이 5개쯤 잡혀 있는 상태에서도 고도표시는 들쭉날쭉 부정확했습니다.
1초간격으로 GPS칩셋이 어플리케이션에 쏴주는 좌표는 원래의 좌표에서 반경 10m 정도의 오차가 있는 오비탈함수적인 절대좌표일 것이라고 보여지고 그걸 어플리케이션이 받아 1초 전에 입력받은 절대값과의 차이를 비교하여 속도를 표시해 준다고 보여집니다.
2006.07.19 16:46:17 (*.94.41.89)

기기마다의 성능 차이가 있는 듯 합니다.
제가 사용하는 기기(Nate drive를 개조 하여 PDA에 연결)에서는 일반적인 수신 상태(소위 3D 모드라 하더군요)에서 고도 흔들림은 목격된 적이 없습니다. 실제 주행시에 고도계가 춤을 추는 것을 목격 하지 못했구요. 평지에서도 일정 값을 유지 했습니다.
*사용하시는 수신기를 좀더 최근것으로 확인 해 보시면 좀더 좋은 결과가 있을 듯 합니다.
그리고 대부분의 GPS에는 최고 측정 가능한 속도의 한계가 있습니다.
즉 매번 절대 좌표를 계산하지 않고 이전 위치에서의 상대값을 계산 한다는 것을 뒷받침 한다고 할 수 있습니다.
실제 GPS시스템 Tutorial 문서를 참고 하면 수식에서 Delta 값을 이용하는 것을 확인 할 수 있습니다. 지하 주차장에서 일정 시간 방치 후 지상으로 나왔을 때에는 위치 잡는데 시간이 걸리는 것도 같은 논리라 할 수 있겠습니다.
저도 전문가가 아니라 쉽게 설명은 곤란하네요... 좀더 아시고자 한다면 아래 문서를 참고 해 주세요.
http://www.u-blox.com/technology/GPS-X-02007.pdf
제가 사용하는 기기(Nate drive를 개조 하여 PDA에 연결)에서는 일반적인 수신 상태(소위 3D 모드라 하더군요)에서 고도 흔들림은 목격된 적이 없습니다. 실제 주행시에 고도계가 춤을 추는 것을 목격 하지 못했구요. 평지에서도 일정 값을 유지 했습니다.
*사용하시는 수신기를 좀더 최근것으로 확인 해 보시면 좀더 좋은 결과가 있을 듯 합니다.
그리고 대부분의 GPS에는 최고 측정 가능한 속도의 한계가 있습니다.
즉 매번 절대 좌표를 계산하지 않고 이전 위치에서의 상대값을 계산 한다는 것을 뒷받침 한다고 할 수 있습니다.
실제 GPS시스템 Tutorial 문서를 참고 하면 수식에서 Delta 값을 이용하는 것을 확인 할 수 있습니다. 지하 주차장에서 일정 시간 방치 후 지상으로 나왔을 때에는 위치 잡는데 시간이 걸리는 것도 같은 논리라 할 수 있겠습니다.
저도 전문가가 아니라 쉽게 설명은 곤란하네요... 좀더 아시고자 한다면 아래 문서를 참고 해 주세요.
http://www.u-blox.com/technology/GPS-X-02007.pdf
2006.07.19 16:49:12 (*.94.41.89)

아 빠뜨린 것이 있습니다.
속도는 GPS 어플리케이션(네비게이션)에서 행하지 않고 GPS모듈에서 계산하여 제공 한 값을 사용 합니다. 고도와 경/위도와 함께 전송 됩니다.
속도는 GPS 어플리케이션(네비게이션)에서 행하지 않고 GPS모듈에서 계산하여 제공 한 값을 사용 합니다. 고도와 경/위도와 함께 전송 됩니다.
2006.07.19 17:29:22 (*.94.1.21)
GPS 기기 간에도 속도차가 납니다... 예를들어서 인텔링스에서 생산 된 제품과... 조이닉스에서 생산된 제품간에도 약 5~10Km 정도 차이를 나타냅니다.... 고로.. GPS가 정확하다고 보기도 사실은 어렵죠...^^
2006.07.19 19:20:30 (*.79.58.176)
TG에 달고다녀보니 어떤 GPS는 계기판과 거의 동일한 속도를 디스플레이하는 반면
어떤 GPS는 100km/h에서 계기판 속도대비 -8km/h정도를 디스플레이하더군요.
어떤 GPS는 100km/h에서 계기판 속도대비 -8km/h정도를 디스플레이하더군요.
2006.07.19 20:25:59 (*.131.6.10)
위의 글을 다 읽고 이해는 합니다만.. 가장 기본적인건 GPS 유닛트의 Communication Interval 입니다. 만약 그것이 0.1초 간격이라고 친다면 포인트 A 에서 포인트 B까지의 거리가 나오고 시간은 계속 0.1초이니 속도를 잘 계산할수 있겠죠. 오차가 아예 없을순 없겠지만 실속도(그게 언덕이건 내리막이건)에는 제일 정확할거라 생각합니다.
요즘은 공식 자동차 메이커나 유명한 잡지에서도 GPS기계를 사용합니다. 그만큼 정확해 졌구요. 트랙에서는 더더욱 그렇습니다. 그 인터벌을 줄이는게 기술이고 더 좋은 기계이지요. 우리나라 네비게이션 하드웨어과 인공위성망은 아직은 멀었답니다.
요즘은 공식 자동차 메이커나 유명한 잡지에서도 GPS기계를 사용합니다. 그만큼 정확해 졌구요. 트랙에서는 더더욱 그렇습니다. 그 인터벌을 줄이는게 기술이고 더 좋은 기계이지요. 우리나라 네비게이션 하드웨어과 인공위성망은 아직은 멀었답니다.
2006.07.19 23:10:32 (*.91.9.250)

그래서 저는 GPS의 정확성을 보정하기 위해 평지에서 정속주행을 하면서 속도계와의 오차를 구하고 또 기어비와 타이어 지름으로 계산한 계산상 속도와 비교를 합니다. 보통 계산상의 속도와 GPS의 속도는 일정한 인과관계가 있더군요. 계산상의 속도도 타이어의 지름이 정확히 계산상 수치와 일치하지 않기 때문이구요.
따라서 평지에서 측정한다면 GPS도 일반적으로 통용되기에는 충분한 수치를 제공한다고 봅니다. 물론 가속하면서 체크할 수는 없죠. 반응속도가 느리기 때문에 GPS를 통해 자신의 차의 속도계 오차를 구하고 그 다음부터는 속도계로 모든 걸 체크하고 오차를 보정하면 되니까요.
따라서 평지에서 측정한다면 GPS도 일반적으로 통용되기에는 충분한 수치를 제공한다고 봅니다. 물론 가속하면서 체크할 수는 없죠. 반응속도가 느리기 때문에 GPS를 통해 자신의 차의 속도계 오차를 구하고 그 다음부터는 속도계로 모든 걸 체크하고 오차를 보정하면 되니까요.
2006.07.20 00:31:01 (*.97.208.59)

절대치와 오차없는 기계가 있을까요? 오차를 어떻게 받아들이는가가 문제이며, 인간의 피조물은 왁벽할 수 없으니 허용오차라는게 있는거겠죠. / 제 생각에서 제안하고픈 것은 평지에서 정속 주행시 GPS와 차량의 속도구간별 오차값이 거의 일정하더라 입니다. 가속,감속시는 GPS가 신호를 주고받는 시간간격을 고려해야하기에 제외하고요... 실제로 하나의 GPS로 두 차량에 쓰는 저의 겨우도 차량별로 다른 일정한 오차값을 보입니다. 즉, GPS 속도 100km/hr 일때, A 차량 속도계는 102km/hr, B차량은 108km/hr 정도 식으로 말입니다. 늘 같은 구간을 오가는 저로선 뻔한 데이터가 되어버린 정도입니다. GPS가 시간차는 있더라도 실제속도엔 근접한 수치가 아닐까 합니다. 그렇다면, 순간순간의 실제속도는 속도계를 보고 알고있던 오차값만큼 가감하면 더 정확하지 않을까도 싶습니다. 하지만, 계기판 바늘의 움직임도 현재의 실속과 순간적 딜레이가 있음을 생각해보면, 허용오차를 다시 생각케 하네요.