2009. 12. 2. 21:00
NOVA Project(Hovering Robot)
※ 이 포스트의 도표 및 테이블은 U-Blox사의 Protocol Specifications을 참조하였습니다.
NMEA Protocol
NMEA-0183은 NMEA라고 불리기도 하며 미국의 The National Marine Electronis Association에서 정의해 놓은 시간, 위치, 방위 등의 정보를 전송하기 위한 규격입니다. 이 규격은 Gyrocompass, GPS, Anemometer, echo sounder, Autopolot등 많은 측정장비에서 사용되고 있습니다.
NMEA-0183 Standard는 ASCII코드와 Serial communications방식의 Protocol을 사용하여 데이터를 sentence형식으로 전송을 하게 됩니다.
기본적인 NMEA Protocol의 Frame은 다음과 같습니다.
위 Frame에서 보시다시피 첫 문자는 항상 "$"로 시작을 하며 마지막에는 Carriage return 과 Line Feed로 이루어져있습니다.
Address에서는 앞의 두 캐릭터는 Identifier이며 다른 세 캐릭터는 Message의 Format을 나타내는 field입니다. Address의 경우 GPS에서는 항상 GP라는 문자가 붙어서 나오게 됩니다. 이는 해당 Device가 GPS라는 것을 뜻하는 문자입니다. 그리고 나머지 뒤에 3개의 Character는 GGA, GSA, GAV, RMC, VTG, ZDA등이 있으며 각각 GPS 수신기의 위치 정보, 위성 상태정보, 속도, 시간 및 날짜 등등을 알려주는 데이터의 기본 형태를 표시해 줍니다.
- Latitude and Longitude Format
NMEA Standard에 따르면 Latitude와 Longitude는 출력되는 Format의 형태가 도(Degree), 분(MInutes) 그리고 초(Fractions of Minutes)로 출력이 됩니다. ddmm.mmmm형태로 출력이 되는데 Second같은 경우에는 0.mmmm에 60을 곱해주어 초로 환산하여 사용하시면 됩니다.
다음 화면은 실제 수신기를 통해 윈도우 하이퍼터미널을 통하여 GPS로부터 수신된 정보를 확인한 화면을 캡쳐한 것입니다.
아래에서 다시 설명을 드리겠지만 GGA로 시작하여 들어오는 Sentence안에는 Latitude와 Longitude 데이터가 포함되어있습니다.
$GPGGA,100138.000,3729.6463,N,12701.6470,E,1,07,1.1,217.7,M,19.6,M,,0000*55
위 문장 하나를 보면 3729.6463, N이라는 Latitude와 12701.6470,E라는 Longitude를 보실 수 있습니다. 실제 좌표로 환산하기 위하여 Latitude의 0.6463과 0.6470의 Longitude를 초단위로 환산하게 되면 38.76초와 38.82초가 나오게 됩니다.
이 좌표가 실제 맞는 좌표인지 확인하기 위하여 Google Earth등 다음과 같은 맵프로그램을 통하여 확인할 수 있습니다.
ㆍGGA Message
GGA는 Global positioning system fix data를 나타내며 시간, 위도, 경도 및 고도 등에 대한 정보를 담고 있습니다.
ㆍGSA Message
GSA는 현재 위치를 확인하는데 사용된 위성의 수와 정확도를 나타내주는 메세지 입니다.
ㆍGSV Message
GSV는 현재 측정하는 위치에서 보이는 전체 위성에 대한 정보를 측정하는데 사용이 됩니다. 이 메세지 안에는 메세지의 숫자, 수신기와 연결된 위성의 수, 위성의 번호, 고도, 방위각 등이 포함되어있습니다.
ㆍRMC Message
RMC는 Recommended Minimum data로 시간, 위도, 경도, 고도, 속도, 날짜 등이 확인 됨을 알 수 있습니다.
이 밖에도 GLL, GSV, GRS, GST, ZDA, GBS, DTM, GPQ, TXT등이 있으며 다음 참고 사이트에서도 확인 하실 수 있습니다.
※ 참조 사이트
National Marine Electronic Association : http://www.nmea.org
U-Blox : http://www.u-blox.com
Wikipedia : http://en.wikipedia.org/wiki/NMEA
'NOVA Project(Hovering Robot)' 카테고리의 다른 글
NMEA & UBX Protocol(2) (1) | 2009.12.06 |
---|---|
Eddy Embedded Module Conference 참가 후기 (0) | 2009.12.06 |
Nova Auto Flight Controller Prototype based on GPS (3) | 2009.12.02 |
U-Blox GPS Module 테스트 (NMEA프로토콜을 UBX로 변경하기) (0) | 2009.12.01 |
Attitude Control (0) | 2009.11.30 |