블로그 이미지
SuperMjs

calendar

1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Notice

2009. 12. 6. 16:10 NOVA Project(Hovering Robot)
※ 이 포스트의 도표 및 테이블은 U-Blox사의 Protocol Specifications을 참조하였습니다.

UBX Protocol

  UBX Protocol은 U-Blox사에서 자체적으로 만든 프로토콜로써 NMEA-0183규격과 다르게 GPS로 수신한 데이터를 Binary Data Type으로 전송합니다.  U-Bolx사의 GPS모듈은 이전 포스트에서도 설명했듯이 NMEA과 UBX프로토콜의 동시출력이 가능합니다.  U-Blox사에서 제공하는 U-Center프로그램을 사용하여 NMEA Protocol, UBX Protocol의 출력 선택을 할 수가 있는 것입니다.  저같은 경우에는 NMEA방식이 아닌 UBX Protocol을 사용하여 GPS Auto Pilot Controller에 적용을 시킬 계획입니다.

  NMEA Protocol보다 UBX Protocol을 사용하면서 편리했던 점이 처리하는 속도에서 보다 더 큰 효율을 낼 수 있는 것 같았습니다.  NMEA Protocol의 경우 ASCII방식으로 들어오기 때문에 별도의 Buffer가 필요하며 ASC를 Buffer에 저장시킨 후 Character 형태의 Data를 Integer또는 float형태의 데이터로 변환해 주는 과정을 거쳐야만 합니다.  반명 UBX프로토콜의 경우 Binary(HEX) value로 data가 들어오기 때문에 앞부분의 sync byte. Class 그리고 ID값이 확인되면 데이터를 바로 읽어들여 변수로 저장하기 때문에 별도의 변환과정이 필요 없어 이점에서 편리한 것 같습니다.  덕분에 Parsing도 보다 수월하게 됩니다.  또한 NMEA와는 다르게 CRC가 존재하기 때문에 데이터에대한 신뢰도가 보다 더 높은 것 같습니다.

  기본적인 UBX Protocol은 다음과 같습니다.


  UBX Protocol은 모든 메세지가 시작할 때 앞부분에 0xB5 0x62의 메세지를 가지고 있습니다.  이는 UBX Packet Message가 시작됨을 알리는 sync byte입니다.  그리고 바로 이어서 따라오는 Byte는 Class와 ID를 나타내고 있습니다.  그 다음 2Byte에는 Packet의 Payload Length정보를 갖고 있습니다.  이를 사용해서 Parsing함수에서 데이터의 길이대로 데이터를 읽어올 수 있습니다.  이 길이는 해당 메세지에 따라서 Length가 정해져 있습니다. 
  마지막으로 2 Byte에는 해당 Packet의 Checksum이 위치하고 있습니다.  이 Checksum을 사용하여 해당 Packet이 정확한지 체크가 가능합니다.


ㆍUBX Class IDs


  위 표를 보시면 Class별로 해당하는 정보와 Class값을 확인 하실 수 있습니다.  간략히 설명하자면 NAV Class는 Navigation에 필요한 Position, speed, Time, Acceleration, Heading, DOP(Dilution Of Precision)등을 아실 수 있습니다. SVs used는 측정에 사용되는 GPS의 갯수입니다.(이것은 제 개인적인 사견입니다..;;  잡히는 위성의 갯수는 보통 17~18개정도로 평균 잡히지만 수신률이 좋은 위성만 측정에 사용이 되는 것 같습니다.  이 수신 감도가 좋은 위성의 갯수를 SVs Used값으로 나태내 주는 것 같습니다)
  RXM은 위성의 수신상태를 알려주는 Class입니다.
  INF같은 경우에는 GPS의 Message Print Type, Notice등 GPS 기본설정에 관련된 Information을 나타내 줍니다.
  ACK는 CFG Message에 대해서 ACK or NACK를 알려주는 메세지를 보내줍니다.
  MON은 GPS안에 있는 CPU Load, Stack의 Usage등 시스템 정보를 보여주는 메세지입니다.
  이밖에 Ephemeris(천체력), Almanac(달력)등을 표시해주는 AID Class 그리고 Timining Message를 출력해주는 TIM Class가 있습니다.
 

ㆍUBX Checksum
  UBX Protocol의 Checksum에대해 간략히 설명드리자면 Sync character와 Checksum을 제외한 나머지 부분을 계산합니다.  TCP standard(RFC_1445)를 따르고 있습니다.




ㆍUBX Protocol - NAV-POSLLH Message

  저같은 경우에는 UBX Protocol Message중에서 NAV Class의 POSLLH, SOL 그리고 VELNED Message를 읽어들여 GPS데이터를 사용했습니다. 이하부터는 이 세개의 메세지를 기준으로 설명을 드리고자 합니다.
  우선 처음으로 설명 드리고자 하는 Message는 POSLLH입니다.  이 MEssage는 Geodetic Position Soulution정보를 나태내줍니다.  즉, GPS의 시간, 현재 위치한 Latitude와 Longitude그리고 ellipsoid(타원) 위에서의 높이와 해수면을 기준으로 한 높이가 나타납니다.  또한 Horizontal & Vertical Accuracy값을 나타내 줍니다.
 
  NAV-POSLLH의 메세지는 다음과 같은 구조로 나타납니다.


  NAV Class라는 것을 ID를 통해서 알 수 있고 0x02는 POSLLH Message라는 정보를 나타내 줍니다.  데이터를 분리해 낼 경우에 Length값이 고정되어있기 때문에 다른 값이 들어오는 경우 제외를 시키도록 별도 처리를 해주어야 합니다.  필자의 경우 GPS데이터를 수신하는 경우에 간혹 데이터가 파싱이 될때 데이터값으로 한참 읽고있는 경우를 겪었는데 알고보니 Checksum을 하기전에 데이터의 길이만큼 데이터(payload)를 읽어오면서 발생하는 문제 였었습니다.  이런 경우는 간혹 일어나는데 error나는 부분이 Length에서 일어나게되면 최악의 경우 0이 되어버리면 거의 무한루프에 빠진 것처럼 돌게 됩니다.  이 부분은 프로그래밍을 하시는 분들이 각별히 유의하셔서 신경써 주셔야 할 부분입니다.



  다음 화면은 U-Center를 사용해 POSLLH메세지를 받은 화면입니다.


  위 화면을 보시면 아래쪽에 패킷의 데이터를 볼 수 있으며 U-Center에서 자동으로 데이터를 읽어들여 단위별로 표시됨을 알 수 있습니다.
  여기서 주의해야 할 점은 Longitude와 Latitude의 단위입니다.  MNEA방식에서는 ddmm.mmmm, dddmm.mmmm방식으로 출력이 되지만 UBX Protocol방식에서는 ddd.ddddddd, dd.ddddddd방식으로 출력이 됩니다.  저는 이 부분을 놓쳐서 아무리 좌표를 도분초단위로 바꾸어도 다른 좌표로 나오는 문제가 발생하여 한참 고민을 했었습니다.

  아래 화면은 제가 GPS에서 수신한 데이터를 받아서 파싱후 각 변수에 저장 후 그 값을 Serial Port로 출력한 내용을 저장한 것입니다.

  위에서 나온 데이터를 환산해 보면,
  - Longitute :       127.0251886 Degrees
                    ☞     127 Degrees 1.511316 Minutes
                    ☞     127 Degrees 1 Minutes 30.67896 Seconds
  - Ltitute :        37.4938136 Degrees
                ☞     37 Degrees 29.628816 Minutes
                ☞     37 Degrees  29 Minutes 37.72896 Seconds

  각 소수점 자리들을 분과 초로 바꾸어 주기 위하여 60을 곱하면 됩니다.


위 좌표를 토대로 Google Earth를 통하여 검색을 해보면 다음과 같이 해당 좌표가 나오겠지요??

 
ㆍUBX Protocol - NAV-SOL Message

   다음으로 설명드릴 것은 SOL Message입니다.  이 메세지는 네비게이션에 관련된 정보들을 출력해 줍니다.  출력되는 Message의 구조는 다음과 같습니다.  이 메세지는 호출의 의해서 메세지를 받을 수도 있고 주기적으로 송신하도록 할 수도 있습니다.



  SOL Message에는 위성의 수 그리고 Position Fix type, 그리고 x,y,z 각 축에 대한 Velocity(Speed)가 m/s단위로 측정이 되며 현재 위치한 Position의 값을 나타내 줍니다.  이를 활용하여 Navigation에 사용이 가능합니다.



 
ㆍUBX Protocol - NAV-VELNED Message

  VELNED Message는 속도에 관련된 데이터를 전달해 줍니다.  SOL Message에서는 각 축에대한 속도를 표시해 주었지만 VELNED는 평면과 3D에대한 속도값을 보여줍니다.  또한 이동하는 방향 그리고 동서남북 방향에대한 속도값 출력을 해줍니다.
  메세지 타입은 다음과 같습니다.



위 화면에서도 알 수 있다시피 메세지를 통해서 속도 값을 알 수 있습니다.

 
이밖에도 많은 메세지들이 있으며 첨부한 U-Blox사의 Protocol Specifications PDF파일에서 확인 하실 수 있습니다.


 
 U-Blox사의 Protocol을 사용하면서 느낀점이 참 편리하다라는 것이었습니다.  NMEA방식의 프로토콜을 사용하는 것보다 데이터를 사용하기가 보다 더 편리하며 CRC의 존재, 그리고 칩셋 제조회사에서 제공하는 관리프로그램의 제공으로 다른 GPS보다 더 사용하기가 편리한 것 같습니다.  또한 GPS firmware의 업데이트가 U-center를 통해서 가능하다는 것이 큰 매력인 것 같습니다.

  가격은 비싸더라도 비싼 값을 하는 것 같네요^^











 
posted by SuperMjs
2009. 12. 6. 12:15 NOVA Project(Hovering Robot)
  간략하게 Eddy Embedded Module Conference 후기를 적어보고자 합니다.

  Eddy Embedded Module Ver 2.1에 대해 간략적인 소개를 드리자면 다음과 같습니다.

 

하드웨어

CPU

ARM926EJ-S(210 MHz)

Memory

8MB DATA FLASH, 32 MB SDRAM

External Interface

19 bit / 16 bit data bus

Ethernet Interface

10/100 Base-T (Pin Header)

UARTs

4port, support up to 921.6Kbps

- 1 : DCD, RxD, TxD, DTR, DSR, RTS, CTS, RI

- 2,3,4, : RxD, TxD, RTS, CTS only

USB 2.0 FS

2 Host /1 Device port, 2.0 FS(12Mbps)

ADC

0ne 4-channel 10 bit ADC

TWI(I2C)

Master, Multi-master and slave mode

SPI

8- to 16-bit Programmable Data Length

Four External Peripheral Chip Selects

MCI

MMC spec v3.11 / SDIO spec v1.1 / SD

Card Spec v1.0 Up to 2GB, 12.5Mbps

GPIO

Max. 56 Programmable I/O Pins

Power Input

3.3 V (200 mA Max)

Dimensions

25 x 42 x 6 mm

Weight

7 g

 

통신환경

Protocol

TCP, UDP, Telnet, ICMP, DHCP, TFTP, HTTP, SNMP 1&2, SSH, SSL

Ethernet

10/100Mbps MAC / PHY

Network

접속방식

Static IP, DHCP

 

소프트웨어

O/S

Lemonix Real Time Linux

관리도구

SNMP, Web, PortView

업로드

TFTP, FTP, Web

개발도구

LemonIDE & SDK

 

동작환경

동작 온도

-40 ~ 85 °C

보관 온도

-60 ~ 150˚C

습도

5 ~ 95% Non-Condensing

 

인증

CE Class A, FCC Class A


  상당히 작은 사이즈와 고성능으로 여러가지 임베디드장비에 적용되어 활용할 수 있다는 장점이 있습니다.
 
  다만 아쉬운 점이 있다면 개발기간이 다른 공모전들에 비해 상당히 짧다는 것과 완성도를 높이는데 있어서 어려움이 많았다는 점입니다.

  또한 1.25mm ptich를 2.54mm의 pitch로 변환하기 위해 상당히 많은 노력솨 시간이 허비되었다는 점에서 참 아쉬운 것 같습니다.  비록 기한 내 완성을 하여 발표까지 하지는 못했지만 Eddy의 작은 모듈을 활용하여 최대한 이동성이 높고 효율적이라는 것에 더 초점을 두어야 하지 않았을까라는 의문이 남습니다.
  
  현재 추세가 Coretex-M3로 상당히 관심을 갖고있습니다.  이 분야 제품쪽으로도 신경을 써주셨으면 합니다.





posted by SuperMjs
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













posted by SuperMjs
2009. 12. 2. 17:15 Today...
피부보정을 이렇게도 할 수 있구나 라는 생각이 든다..ㅋㅋㅋㅋ

근데 실력이 짱!!!

http://www.slrclub.com/bbs/vx2.php?id=theme_gallery&no=1207212
posted by SuperMjs
2009. 12. 2. 15:16 NOVA Project(Hovering Robot)







ATMega2560
U-Blox LEA-5S (UART)
XBee (UART)

and Added Beacons
posted by SuperMjs
2009. 12. 1. 00:51 NOVA Project(Hovering Robot)

 이번에 새로 구매한 UIGOODS에서 판매하는 GPS모듈입니다.  
  가로세로 48mm x 25mm정도의 상당히 작은 모듈이며 U-Blox사의 LEA-5S칩셋이 장착되어있습니다. 
  U-Blox사의 gps칩을 탑재한 모듈은 국내에서는 쉽게 구하기 어려운 모델입니다.  스위스에서 제조된 칩셋으로 상당히 우수한 수신률을 가지고 있으며 50개까지의 위성을 잡을 수 있습니다.  현재 국내에서는 아이나비 네비게이션 모델에 탑재되어 나오고 있습니다.  UIGoods에서 판매하고 이 모듈은 LEA-5S칩셋을 사용하고 있는데 전원이 일정시간 공급이 되지 않으면 임의로 설정한 설정값이 날아가게되는 단점이 있습니다.


  판매하고 있는 GPS칩은 U-Blox사 홈페이지(http://www.u-blox.com)에서 다음과 같이 확인하실 수 있습니다.
 
  UIGoods에서 판매하는 모듈은 default setting으로 NMEA-0183방식으로 되어있습니다.  따라서 출력되는 방식 또한 NMEA표준 프로토콜로 출력이 됩니다.  필자는 UBX Protocol방식의 데이터가 필요하기 때문에 이를 변경하기 위해서 별도의 셋팅이 필요하여 이를 설명하고자 합니다.  이를 변경하기 위해서는 U-Blox사에서 제공하는 U-Center라는 Application이 필요합니다.  이 프로그램은 아래 링크를 통해서 설치하실 수 있습니다.







  NMEA Protocol을 UBX Protocol로 바꾸는 방법은 Paparazzi Free Autopilot에 올려진 내용과 같이 다음 몇번의 설정으로 쉽게 바꾸실 수 있습니다.

 1. Right Click on the NMEA Text on top of the tree and choose disable child messages
2. Choose UBX->CFG->NAV5(Navigation 5) - set it to use Airborne 8 <4G. This tells the Kalman filter to expect significant changes in direction.
   Note that this setting is only good for faster moving airplanes. For a fixed position hovering heli, 'pedestrian' setting is better
3. UBX->CFG->PRT - set USART1 to 38400bps (must match the value in your
Airframe file)
4. Change the baudrate of U-Center to 38400bps if the connection is lost at this point
5. UBX->CFG->RATE(Rates) - change the Measurement Period to 250ms This gives a 4 Hz position update since 4 x 250ms is one second.
6. UBX->CFG->SBAS : Disable (SBAS appears to cause occasional severe altitude calcuation errors)
7. UBX->NAV (not UBX->CFG->NAV): double click on POSLLH, SOL, STATUS, SVINFO, VELNED. They should change from grey to black
(add the flag -DGPS_USE_LATLONG in your
Airframe file) also make sure you set tiny_2_1_1.h if you have the latest boards Tiny/TinyWOG)
8. UBX->CFG->CFG : save current config, click "send" in the lower left corner to permanently save these settings to the receiver

 






1. 우선 Message박스를 열어서 NMEA Protocol출력 부분을 모두 Disable시켜줍니다.






2. 또는 UBX-CFG-MSG에서 개별적으로 원하는 Port로 해당 프로토콜에 대한 정보를 출력 또는 삭제할 수 있습니다.  또한 NMEA Protocol과 UBX Protocol을 동시에 출력해줄 수 있으며 UART1으로는 NMEA, UART2로는 UBX Protocol등으로 임의지정해서 사용할 수도 있습니다(단, 포트가 모두 외부로 나와있다는 가정하에...)










3.  다음은 UBX-CFG-NAV5로 가셔서 모델 선택을 해주셔야 합니다.  이 부분은 해주셔도 되는 부분이고 안해주셔도 굳이 상관은 없는 부분입니다.  이 부분을 수정해주시면 GPS가 Kalman Filter적용 시 참조하는 부분입니다.  모드에 따라서 Portable인지 Fixed인지 또는 Pedestrian등등 GPS장착 모델과 기본적인 이동 속도 등을 고려하여 Kalman Filter를 적용하게 끔 합니다.
  저의 경우에는 움직임 속도가 빠르지 않은 Hovering Robot에 적용을 하기 때문에 Pedestrian을 선택하였습니다.







4. NMEA Protocol방식의 GPS는 기본적으로 1Hz의 주기로 GPS로부터 수신을 받습니다.  이 부분을 4Hz로 변경하여 주기 위해서 UBX-CFG-RATE부분으로 가시면 주기를 변경해 주실수 있습니다.   Measurement Period가 기본적으로 1000ms로 되어있을 겁니다.  이 부분을 250ms로 바꾸어주게되면 Measurement Frequency가 4Hz로 바뀌게 됩니다.













5.  마지막으로 이렇게 변경된 설정에 대해서 저장을 시켜줍니다.  LEA-5H칩이 탑재된 모델 같은 경우에는 이 부분이 지속적으로 메모리에 저장되어 향후에도 변경된 내용이 저장이 되지만 저같은 경우에는 LEA-5S모델이 탑재되어있는 관계로 백업배터리가 있지만 설정 값이 전원이 들어오지 않은지 한참 후에는 설정 값들이 다시 Default상태로 돌아가더군요.






  참고로 직접 GPS어플리케이션을 작성하여 UBX Protocol로 GPS를 사용하실 분들은 해당 스크린 캡쳐사진을 보시면 오른쪽 하단부에 Hex값들을 보실 수 있으실 겁니다.  이 Hex값들을 통신을 통해서 GPS로 보내주시게되면 U-Centre에서에서 사용하신 설정방법과 동일한 설정이 적용되는 것을 확신 하실 수 있습니다.

'NOVA Project(Hovering Robot)' 카테고리의 다른 글

NMEA & UBX Protocol(1)  (0) 2009.12.02
Nova Auto Flight Controller Prototype based on GPS  (3) 2009.12.02
Attitude Control  (0) 2009.11.30
Quad Copter H/W Platform  (0) 2009.11.30
Project Notes  (0) 2009.11.12
posted by SuperMjs
2009. 11. 30. 22:41 NOVA Project(Hovering Robot)

posted by SuperMjs
2009. 11. 30. 21:44 NOVA Project(Hovering Robot)
posted by SuperMjs
2009. 11. 26. 21:29 Embedded System/Software

Disclaimer

The National Marine Electronics Association (NMEA) has developed a specification that defines the interface between various pieces of marine electronic equipment. The standard permits marine electronics to send information to computers and to other marine equipment. Most computer programs that provide real time position information understand and expect data to be in NMEA format. This data includes the complete PVT (position, velocity, time) solution computed by the GPS receiver. The idea of NMEA is to send a line of data called a sentence that is totally self contained and independent from other sentences. All NMEA sentences is sequences of ACSII symbols begins with a '$' and ends with a carriage return/line feed sequence and can be no longer than 80 characters of visible text (plus the line terminators).

Introduction

We present open source and free library in 'C' programming language for work with NMEA protocol. Small and easy to use. The library build on different compilers under different platforms (see below). The code was tested in real projects. Just download and try...

Features

  • Analysis NMEA sentences and granting GPS data in C structures
  • Generate NMEA sentences
  • Supported sentences: GPGGA, GPGSA, GPGSV, GPRMC, GPVTG
  • Multilevel architecture of algorithms
  • Additional functions of geographical mathematics and work with navigation data

Supported (tested) platforms

  • Microsoft Windows (MS Visual Studio 8.0, GCC)
  • Windows Mobile, Windows CE (MS Visual Studio 8.0)
  • UNIX (GCC)

VirtualGPSJet (addition)

We also provide virtual COM port driver for generating a stream of NMEA protocol. It is developed for testing applications working with GPS. Now this driver made only for Windows CE platform.

Downloads


Source : http://nmea.sourceforge.net/

'Embedded System > Software' 카테고리의 다른 글

Setting up my machine to build Android source code(for ODROID)  (0) 2011.02.12
Kalman Filter  (0) 2009.11.15
Ziegler–Nichols method  (0) 2009.11.08
커널 부팅 로고 이미지 바꾸기(출처 : FALinux)  (0) 2009.08.13
__attribute__  (0) 2009.07.24
posted by SuperMjs
2009. 11. 19. 15:05 New Car Technology
80년대 인기를 끌었던 미국의 TV 시리즈 '전격 제트 작전'의 키드가 현실화 됐다. 운전자 없이 컴퓨터 제어로 혼자 운전이 가능한 로봇 자동차가 나왔다. 몇차례 무인 자동차가 나온 바 있지만 최근에는 기술이 발전돼 소금밭에서 드리프트를 하거나 산길도 거침 없이 달릴 수 있는 수준까지 왔다.

 

▲ 소금 평원에서 주행 테스트를 하고 있는 `아우디TTS` 무인 자동차

미국 방위고등연구계획국(DARPA)는 지난 2005년과 2007년에 무인 자동차 경주를 개최 한 바 있다. 그리고 폭스바겐은 여전히 관련 기술을 연구하고 있다. 그 결과물로 폭스바겐의 전자연구실험실(ERL)과 스탠포드 대학의 다이나믹디자인연구 소(SDDL), 그리고 썬마이크로시스템즈가 함께 전자동 아우디TTS를 만들어 냈다. 이들 합동연구팀은 내년에 로키산맥의 파이크스 산길 12.4마일을 오르는 코스로 무인 자동차 기술력을 시연해 보일 계획이다.

 

2009년형 아우디TTS 모델을 기반으로 하는 이 로봇 자동차는 아우디의 4륜구동 시스템인 콰트로 시스템이 적용됐고, 2.0리터 터보 엔진에 최고출력 265마력, 최대토크 35.7kg.m의 성능을 갖추고 있다.

 

ERL은 이 차에 센서와 서보 자동제어장치, 그리고 전자제어식운전 장치를 부착했다. SDDL은 차량이 센서 데이터에 적절하게 반응하는 프로그램을 개발했고, 썬마이크로시스템즈는 차량용 컴퓨터 플랫폼을 구축했다.

 

과거 폭스바겐과 스탠포드 대학에 의해 개발된 전자동 차량은 투아렉SUV와 파사트웨곤 모델에 적용됐었다. 그렇지만 드리프트를 하고 산길을 달리는 유일한 무인 자동차는 아우디TTS가 유일하다.

 

'New Car Technology' 카테고리의 다른 글

똑똑한 운전 도우미 로봇, 아이다  (0) 2009.11.17
posted by SuperMjs
prev 1 2 3 4 5 next