Shop OBEX P1 Docs P2 Docs Learn Events
GPS Dead Reckoning Project — Parallax Forums

GPS Dead Reckoning Project

ArchiverArchiver Posts: 46,084
edited 2002-08-20 19:50 in General Discussion
All:

I would like to thank all of you who helped with a couple of
critical questions. I have successfully completed my project.

The objective was to build an interpreter/dead reckoning (DR) box
using the STAMP that would take a GPS NMEA sentence input and pass the input
through if the GPS input was valid.

If the GPS input was not valid, or the GPS not connected, the STAMP
would read a wheel counter (such as available from a bicycle magnetic
odometer) and a heading source (flux -gate or other source of heading
information), calculate a DR position from a last known fix, and output the
DR position.

I found that a flux gate or other electronic compass was too
expensive right now (at least $80 for reasonable accuracy), so I decided to
use a handheld compass and a switch bank to input heading as 8 bits (0-255
corresponding to 0-360 degrees) through a 74HC251 (ran out of serial ports
on the stamp, so had to find a way to get 8 bits in through 4 pins). Because
most of the use will be on a bicycle in a city with straight streets the
range of possible headings is constrained and use of a manual heading input
is not a real problem.

It also turned out that the magnetic wheel rev counter was very
noisy and switch debounce required use of a 555. (I needed to have the
stamp do other things so could not use software debounce).

I almost ran out of program space, so had to work out using two
slots (put the initialize routine in slot 0 and the main program in slot 1).
It turns out that I could now cram it all into a single slot, but the
flexibility of two slots made it much easier and less stressful.

One of the big challenges was learning how to use sin/cos in twos
complement in the stamp, as well as understanding the limitations of integer
math. Help from the group got me on the right track.

If anyone finds that they are interested in seeing the schematic or
code, just drop me a note.

Chris


This e-mail message may contain legally privileged and/or confidential
information. If you are not the intended recipient(s), or the employee
or agent responsible for delivery of this message to the intended
recipient(s), you are hereby notified that any dissemination,
distribution or copying of this e-mail message is strictly prohibited.
If you have received this message in error, please immediately notify
the sender and delete this e-mail message from your computer.




[noparse][[/noparse]Non-text portions of this message have been removed]

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2002-08-20 18:15
    Hi Chris,

    An interesting project. If I interpreted it correctly, you built a dead
    reckoning system to guide the bike for short durations that occur
    between readings of a GPS system. Accurate GPS readings are then used
    to update absolute position, and to override any inaccurate predictions
    of the dead reckoning system.

    I'd be interested in the accuracy of your dead reckoning system. For
    example, after 20 seconds of dead reckoning, how accurate was the
    predicted position?

    Dennis

    Original Message
    From: cholm@m... [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=N1nN3C19Q7t6uMlb5ULnDoxzXoz5lla5Bla8w-O_P0bq9llZNFTNsKvl2M9uxO3jEaMtzUlKhw]cholm@m...[/url
    Sent: Tuesday, August 20, 2002 8:59 AM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] GPS Dead Reckoning Project


    All:

    I would like to thank all of you who helped with a couple of
    critical questions. I have successfully completed my project.

    The objective was to build an interpreter/dead reckoning (DR)
    box using the STAMP that would take a GPS NMEA sentence input and pass
    the input through if the GPS input was valid.

    If the GPS input was not valid, or the GPS not connected, the
    STAMP would read a wheel counter (such as available from a bicycle
    magnetic
    odometer) and a heading source (flux -gate or other source of heading
    information), calculate a DR position from a last known fix, and output
    the DR position.

    I found that a flux gate or other electronic compass was too
    expensive right now (at least $80 for reasonable accuracy), so I decided
    to use a handheld compass and a switch bank to input heading as 8 bits
    (0-255 corresponding to 0-360 degrees) through a 74HC251 (ran out of
    serial ports on the stamp, so had to find a way to get 8 bits in through
    4 pins). Because most of the use will be on a bicycle in a city with
    straight streets the range of possible headings is constrained and use
    of a manual heading input is not a real problem.

    It also turned out that the magnetic wheel rev counter was very
    noisy and switch debounce required use of a 555. (I needed to have the
    stamp do other things so could not use software debounce).

    I almost ran out of program space, so had to work out using two
    slots (put the initialize routine in slot 0 and the main program in slot
    1). It turns out that I could now cram it all into a single slot, but
    the flexibility of two slots made it much easier and less stressful.

    One of the big challenges was learning how to use sin/cos in
    twos complement in the stamp, as well as understanding the limitations
    of integer math. Help from the group got me on the right track.

    If anyone finds that they are interested in seeing the schematic
    or code, just drop me a note.

    Chris


    This e-mail message may contain legally privileged and/or confidential
    information. If you are not the intended recipient(s), or the employee
    or agent responsible for delivery of this message to the intended
    recipient(s), you are hereby notified that any dissemination,
    distribution or copying of this e-mail message is strictly prohibited.
    If you have received this message in error, please immediately notify
    the sender and delete this e-mail message from your computer.




    [noparse][[/noparse]Non-text portions of this message have been removed]


    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject
    and Body of the message will be ignored.


    Your use of Yahoo! Groups is subject to
    http://docs.yahoo.com/info/terms/
  • ArchiverArchiver Posts: 46,084
    edited 2002-08-20 18:57
    Dear Chris:
    Would very much appreciate the schematic and any info on the project as I
    am working a similar project with micro gps logging devices. please e-mail
    me at :
    mocenter@e... Hope to hear from you soon
    sincerely,
    mike m
    Original Message
    From: <cholm@m...>
    To: <basicstamps@yahoogroups.com>
    Sent: Tuesday, August 20, 2002 11:58 AM
    Subject: [noparse][[/noparse]basicstamps] GPS Dead Reckoning Project


    > All:
    >
    > I would like to thank all of you who helped with a couple of
    > critical questions. I have successfully completed my project.
    >
    > The objective was to build an interpreter/dead reckoning (DR) box
    > using the STAMP that would take a GPS NMEA sentence input and pass the
    input
    > through if the GPS input was valid.
    >
    > If the GPS input was not valid, or the GPS not connected, the STAMP
    > would read a wheel counter (such as available from a bicycle magnetic
    > odometer) and a heading source (flux -gate or other source of heading
    > information), calculate a DR position from a last known fix, and output
    the
    > DR position.
    >
    > I found that a flux gate or other electronic compass was too
    > expensive right now (at least $80 for reasonable accuracy), so I decided
    to
    > use a handheld compass and a switch bank to input heading as 8 bits (0-255
    > corresponding to 0-360 degrees) through a 74HC251 (ran out of serial ports
    > on the stamp, so had to find a way to get 8 bits in through 4 pins).
    Because
    > most of the use will be on a bicycle in a city with straight streets the
    > range of possible headings is constrained and use of a manual heading
    input
    > is not a real problem.
    >
    > It also turned out that the magnetic wheel rev counter was very
    > noisy and switch debounce required use of a 555. (I needed to have the
    > stamp do other things so could not use software debounce).
    >
    > I almost ran out of program space, so had to work out using two
    > slots (put the initialize routine in slot 0 and the main program in slot
    1).
    > It turns out that I could now cram it all into a single slot, but the
    > flexibility of two slots made it much easier and less stressful.
    >
    > One of the big challenges was learning how to use sin/cos in twos
    > complement in the stamp, as well as understanding the limitations of
    integer
    > math. Help from the group got me on the right track.
    >
    > If anyone finds that they are interested in seeing the schematic or
    > code, just drop me a note.
    >
    > Chris
    >
    >
    > This e-mail message may contain legally privileged and/or confidential
    > information. If you are not the intended recipient(s), or the employee
    > or agent responsible for delivery of this message to the intended
    > recipient(s), you are hereby notified that any dissemination,
    > distribution or copying of this e-mail message is strictly prohibited.
    > If you have received this message in error, please immediately notify
    > the sender and delete this e-mail message from your computer.
    >
    >
    >
    >
    > [noparse][[/noparse]Non-text portions of this message have been removed]
    >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and
    Body of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    >
    >
    >
  • ArchiverArchiver Posts: 46,084
    edited 2002-08-20 19:04
    I would also love to try out your project. Sounds fun. If you don't post it
    somehow, please send me some info at jamesrwaldron@e....

    Thanks
    James

    On Tue, 20 Aug 2002 11:58:41 -0400 cholm@m... wrote:

    All:

    I would like to thank all of you who helped with a couple of
    critical questions. I have successfully completed my project.

    The objective was to build an interpreter/dead reckoning (DR) box
    using the STAMP that would take a GPS NMEA sentence input and pass the input
    through if the GPS input was valid.

    If the GPS input was not valid, or the GPS not connected, the STAMP
    would read a wheel counter (such as available from a bicycle magnetic
    odometer) and a heading source (flux -gate or other source of heading
    information), calculate a DR position from a last known fix, and output the
    DR position.

    I found that a flux gate or other electronic compass was too
    expensive right now (at least $80 for reasonable accuracy), so I decided to
    use a handheld compass and a switch bank to input heading as 8 bits (0-255
    corresponding to 0-360 degrees) through a 74HC251 (ran out of serial ports
    on the stamp, so had to find a way to get 8 bits in through 4 pins). Because
    most of the use will be on a bicycle in a city with straight streets the
    range of possible headings is constrained and use of a manual heading input
    is not a real problem.

    It also turned out that the magnetic wheel rev counter was very
    noisy and switch debounce required use of a 555. (I needed to have the
    stamp do other things so could not use software debounce).

    I almost ran out of program space, so had to work out using two
    slots (put the initialize routine in slot 0 and the main program in slot 1).
    It turns out that I could now cram it all into a single slot, but the
    flexibility of two slots made it much easier and less stressful.

    One of the big challenges was learning how to use sin/cos in twos
    complement in the stamp, as well as understanding the limitations of integer
    math. Help from the group got me on the right track.

    If anyone finds that they are interested in seeing the schematic or
    code, just drop me a note.

    Chris


    This e-mail message may contain legally privileged and/or confidential
    information. If you are not the intended recipient(s), or the employee
    or agent responsible for delivery of this message to the intended
    recipient(s), you are hereby notified that any dissemination,
    distribution or copying of this e-mail message is strictly prohibited.
    If you have received this message in error, please immediately notify
    the sender and delete this e-mail message from your computer.




    [noparse][[/noparse]Non-text portions of this message have been removed]


    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject and Body
    of the message will be ignored.


    Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
  • ArchiverArchiver Posts: 46,084
    edited 2002-08-20 19:50
    The accuracy of DR is essentially unrelated to time, and entirely related to
    the distance traveled from the last fix. By accurately measuring the
    distance traveled for each wheel revolution, I think that I have made the
    distance calculation accurate to within about 1% of the distance traveled
    from the last fix. I have made the heading accuracy to within about 1.5
    degrees, however that is only really good where I know what the heading
    traveled is. For instance, I know that one of the streets I travel is 298
    degrees true and I can calculate an 8 bit binary representation of that
    heading that is within 1.5 degrees. This results in pretty good accuracy.
    One of the biggest problems is that the stamp has limits on the size of
    numbers it can handle and that means that I have to extend a DR from another
    DR rather from the last fix, which is considered a big no-no for true
    navigation accuracy (the errors tend to accumulate).

    Original Message
    From: Dennis P. O'Leary [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=Q2vJXMlx4kdt28ILloevoVRWXIPvMAuKqlfUVF8tMmWgM9zRHil8pi170Zrx_NTZROmC5I_xuXXA33U]doleary@e...[/url
    Sent: Tuesday, August 20, 2002 1:15 PM
    To: basicstamps@yahoogroups.com
    Subject: RE: [noparse][[/noparse]basicstamps] GPS Dead Reckoning Project


    Hi Chris,

    An interesting project. If I interpreted it correctly, you built a dead
    reckoning system to guide the bike for short durations that occur
    between readings of a GPS system. Accurate GPS readings are then used
    to update absolute position, and to override any inaccurate predictions
    of the dead reckoning system.

    I'd be interested in the accuracy of your dead reckoning system. For
    example, after 20 seconds of dead reckoning, how accurate was the
    predicted position?

    Dennis

    Original Message
    From: cholm@m... [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=E3IqTE3FOckQekPebUgVbRZHCWDGfV-VweWip7Jjr89fbTzeoRR0Os-Xr_VaG5CPS_tcperboSOuPw]cholm@m...[/url
    Sent: Tuesday, August 20, 2002 8:59 AM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] GPS Dead Reckoning Project


    All:

    I would like to thank all of you who helped with a couple of
    critical questions. I have successfully completed my project.

    The objective was to build an interpreter/dead reckoning (DR)
    box using the STAMP that would take a GPS NMEA sentence input and pass
    the input through if the GPS input was valid.

    If the GPS input was not valid, or the GPS not connected, the
    STAMP would read a wheel counter (such as available from a bicycle
    magnetic
    odometer) and a heading source (flux -gate or other source of heading
    information), calculate a DR position from a last known fix, and output
    the DR position.

    I found that a flux gate or other electronic compass was too
    expensive right now (at least $80 for reasonable accuracy), so I decided
    to use a handheld compass and a switch bank to input heading as 8 bits
    (0-255 corresponding to 0-360 degrees) through a 74HC251 (ran out of
    serial ports on the stamp, so had to find a way to get 8 bits in through
    4 pins). Because most of the use will be on a bicycle in a city with
    straight streets the range of possible headings is constrained and use
    of a manual heading input is not a real problem.

    It also turned out that the magnetic wheel rev counter was very
    noisy and switch debounce required use of a 555. (I needed to have the
    stamp do other things so could not use software debounce).

    I almost ran out of program space, so had to work out using two
    slots (put the initialize routine in slot 0 and the main program in slot
    1). It turns out that I could now cram it all into a single slot, but
    the flexibility of two slots made it much easier and less stressful.

    One of the big challenges was learning how to use sin/cos in
    twos complement in the stamp, as well as understanding the limitations
    of integer math. Help from the group got me on the right track.

    If anyone finds that they are interested in seeing the schematic
    or code, just drop me a note.

    Chris


    This e-mail message may contain legally privileged and/or confidential
    information. If you are not the intended recipient(s), or the employee
    or agent responsible for delivery of this message to the intended
    recipient(s), you are hereby notified that any dissemination,
    distribution or copying of this e-mail message is strictly prohibited.
    If you have received this message in error, please immediately notify
    the sender and delete this e-mail message from your computer.




    [noparse][[/noparse]Non-text portions of this message have been removed]


    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject
    and Body of the message will be ignored.


    Your use of Yahoo! Groups is subject to
    http://docs.yahoo.com/info/terms/





    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject and
    Body of the message will be ignored.


    Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/



    This e-mail message may contain legally privileged and/or confidential
    information. If you are not the intended recipient(s), or the employee
    or agent responsible for delivery of this message to the intended
    recipient(s), you are hereby notified that any dissemination,
    distribution or copying of this e-mail message is strictly prohibited.
    If you have received this message in error, please immediately notify
    the sender and delete this e-mail message from your computer.




    [noparse][[/noparse]Non-text portions of this message have been removed]
Sign In or Register to comment.