Loading ...
Sorry, an error occurred while loading the content.

Re: [SeattleRobotics] autonomous rc cars

Expand Messages
  • LF
    I don t think you would need GPS at all. All you would need is some sort of wall detecting circuit that would detect the wall on both sides of the car which
    Message 1 of 10 , Sep 1, 2004
    View Source
    • 0 Attachment
      I don't think you would need GPS at all. All you would need is some sort of
      "wall detecting" circuit that would detect the wall on both sides of the car
      which would keep the car in the same position all the way around. The only
      thing I foresee you really have to worry about is if it goes too fast around
      a curve and then swings around in the other direction, in is case all you
      would need is a digital compass with a MCU that monitors what direction the
      car "was" going in, and then make the car turn until it goes in that
      direction. GPS is not at all accurate to do anything except maybe testing
      the speed of the car. Surely there is more to consider, but I just woke up!
      Hope this helps.

      LF
      <http://www.veryfinephotos.com/electronics/aerobot.htm>
      ----- Original Message -----
      From: "patrick reid" <patrickreidus@...>
      To: <SeattleRobotics@yahoogroups.com>
      Sent: Tuesday, August 31, 2004 11:19 PM
      Subject: [SeattleRobotics] autonomous rc cars


      > Hello,
      >
      > I have this project to work on that I need some help with. I need to
      > convert a radio control toy car into an autonomous racing car. The car I
      > have is able to run at 35 mph and that speed is ok.
      > The car will race around a custom built track that has two large curves
      > and two straights. I need to be able to programme the car to run
      > autonomously around this track. I need to programme the speed at which the
      > car runs over a given time period, say 15 mph for 6 seconds, then 30 mph
      > for the next 5 secs, then 20 mph for the next 9 secs, etc.
      > I have all the data for the curves such as curve distance, curve radius
      > etc. All I need to do is to pre-programme the car to run around this curve
      > at a given speed over a set time. Do you think this is possible or do I
      > need to impliment an on-board laptop and GPS devices?
      >
      > The car chassis is big, 1' - 6" wide x 1' -9 " long. It should be large
      > enough to hold the needed hardware. I would prefer if the car can be
      > programmed via a pc as well as on-board programming.
      > Any suggestions.
      >
      > Regards, Patrick Reid.
      >
      >
      >
      >
      > ---------------------------------
      > Do you Yahoo!?
      > Yahoo! Mail Address AutoComplete - You start. We finish.
      >
      > [Non-text portions of this message have been removed]
      >
      >
      >
      >
      > Visit the SRS Website at http://www.seattlerobotics.org
      > Yahoo! Groups Links
      >
      >
      >
      >
      >
      >
    • Martin Sondergaard
      ... I can see that you are a beginner in robotics, like me. What type of motors does the car have? Probably DC gear motors. To tell the speed of the car, you
      Message 2 of 10 , Sep 1, 2004
      View Source
      • 0 Attachment
        Patrick Reid wrote :

        > Hello,
        >
        > I have this project to work on that I need some help with. I need to
        > convert a radio control toy car into an autonomous racing car. The car I
        > have is able to run at 35 mph and that speed is ok.
        > The car will race around a custom built track that has two large curves
        > and two straights. I need to be able to programme the car to run
        > autonomously around this track. I need to programme the speed at which the
        > car runs over a given time period, say 15 mph for 6 seconds, then 30 mph
        > for the next 5 secs, then 20 mph for the next 9 secs, etc.
        >
        > I have all the data for the curves such as curve distance, curve radius
        > etc. All I need to do is to pre-programme the car to run around this curve
        > at a given speed over a set time. Do you think this is possible or do I
        > need to impliment an on-board laptop and GPS devices?
        >
        > The car chassis is big, 1' - 6" wide x 1' -9 " long. It should be large
        > enough to hold the needed hardware. I would prefer if the car can be
        > programmed via a pc as well as on-board programming.
        > Any suggestions.
        >
        > Regards, Patrick Reid.


        I can see that you are a beginner in robotics, like me.

        What type of motors does the car have?
        Probably DC gear motors.

        To tell the speed of the car, you need a way to tell how many times per
        minute the wheels are rotating. The usual way to do this is to see how many
        times per minute the motors that drive the wheels are rotating.

        One way to do this is to add an "encoder" to the motor shaft, then make your
        microcontroller look at the encoder several times a second, to see how fast
        it is turning.

        (Alternatively, instead of putting the encoder on the motor shaft, you can
        put it directly on the wheel, or the wheel shaft.)

        Another way to tell the speed of the motor, is to use a stepper motor.
        This motor moves a specific number of degrees when told to move by your
        microcontroller, and does not move otherwise : so you know exactly
        how fast it is turning.
        (This type of motor does not need an encoder.)

        Another type of motor you can use is an RC servo, hacked so that it
        runs "in open loop". I.e. it can rotate completely around, unlike
        a normal RC servo, which can only turn about 90 degrees,
        (or, for some of them, up to 180 degrees).
        I think that there is some way to determine the speed of this sort of motor,
        but I'm not sure what it is. (I'm a newbie myself.) I think that you can
        direct the motor to turn at a specific speed, but I'm not sure.
        There may also be a way to tell how many times this motor has rotated,
        just as you can with a stepper motor, or a motor with an encoder,
        but I'm not sure about this.

        So you may have to replace the motors on the car with a new set.
        Otherwise you will have to add encoders to the motors or to the wheels.


        > I have all the data for the curves such as curve distance, curve radius
        > etc. All I need to do is to pre-programme the car to run around this curve
        > at a given speed over a set time. Do you think this is possible or do I
        > need to impliment an on-board laptop and GPS devices?
        >

        So it needs to "run around a curve".
        No, don't use GPS, I think its not accurate enough. (I think its accurate
        to about half a metre, I'm not sure.)
        One way to tell where the car/robot has moved to is by counting
        how many times each wheel has turned : this tells you where it has
        moved to, relative to its starting position.

        The wheels can slip on the ground, however. So you may like
        the robot to use a sensor to tell where it is.
        Read about "line following" robots. Is the track a visible line, that the
        robot can see, using the same sensors as other line-following robots?
        The sensors used by a line-following robot are cheap, and easy to use,
        so this is a good type of sensor to use if the track is easy to see.


        You wrote :

        > I would prefer if the car can be programmed via a pc as well as on-board
        > programming.

        That sounds sensible to me. It may not be necessary to program it
        via a PC, given that you will need to write an on-board program anyway,
        but it should be possible.

        Your robot will need a microcontroller, to read sensors and to send outputs
        to the motors. So you can use the microcontroller for on-board programming.
        For the programming via a PC, use a wireless connection between the robot
        and the PC.

        ---------------------------------

        Can you tell me a bit more about this project please.
        Can you tell me why you want to do it?


        --
        Martin Sondergaard.
      • yahoo
        Cut a slot in the track then have a pin under the car to follow the guide slot. Sure, it s been done but it ll work! ;-) Seriously, you have an extremely
        Message 3 of 10 , Sep 1, 2004
        View Source
        • 0 Attachment
          Cut a slot in the track then have a pin under the car to follow the guide slot. Sure, it's been done but it'll work! ;-)

          Seriously, you have an extremely complex problem to solve and the speed you are trying to accomplish won't make the task easier. You may want to paint a line in the road to follow and use a camera in front of the robot to sense the line and the direction the car will need to start turning. Or, use standard line detection sensors (photo reflectors).

          Doug

          ---------- Original Message ----------------------------------
          From: patrick reid <patrickreidus@...>
          Reply-To: SeattleRobotics@yahoogroups.com
          Date: Tue, 31 Aug 2004 20:19:58 -0700 (PDT)

          >Hello,
          >
          >I have this project to work on that I need some help with. I need to convert a radio control toy car into an autonomous racing car. The car I have is able to run at 35 mph and that speed is ok.
          >The car will race around a custom built track that has two large curves and two straights. I need to be able to programme the car to run autonomously around this track. I need to programme the speed at which the car runs over a given time period, say 15 mph for 6 seconds, then 30 mph for the next 5 secs, then 20 mph for the next 9 secs, etc.
          >I have all the data for the curves such as curve distance, curve radius etc. All I need to do is to pre-programme the car to run around this curve at a given speed over a set time. Do you think this is possible or do I need to impliment an on-board laptop and GPS devices?
          >
          >The car chassis is big, 1' - 6" wide x 1' -9 " long. It should be large enough to hold the needed hardware. I would prefer if the car can be programmed via a pc as well as on-board programming.
          >Any suggestions.
          >
          >Regards, Patrick Reid.
          >
          >
          >
          >
          >---------------------------------
          >Do you Yahoo!?
          >Yahoo! Mail Address AutoComplete - You start. We finish.
          >
          >[Non-text portions of this message have been removed]
          >
          >
          >
          >
          >Visit the SRS Website at http://www.seattlerobotics.org
          >Yahoo! Groups Links
          >
          >
          >
          >
          >
          >
        • Martin Sondergaard
          ... I can see that you are a beginner in robotics, like me. What type of motors does the car have? Probably DC gear motors. To tell the speed of the car, you
          Message 4 of 10 , Sep 1, 2004
          View Source
          • 0 Attachment
            Patrick Reid wrote :

            > Hello,
            >
            > I have this project to work on that I need some help with. I need to
            > convert a radio control toy car into an autonomous racing car. The car I
            > have is able to run at 35 mph and that speed is ok.
            > The car will race around a custom built track that has two large curves
            > and two straights. I need to be able to programme the car to run
            > autonomously around this track. I need to programme the speed at which the
            > car runs over a given time period, say 15 mph for 6 seconds, then 30 mph
            > for the next 5 secs, then 20 mph for the next 9 secs, etc.
            >
            > I have all the data for the curves such as curve distance, curve radius
            > etc. All I need to do is to pre-programme the car to run around this curve
            > at a given speed over a set time. Do you think this is possible or do I
            > need to impliment an on-board laptop and GPS devices?
            >
            > The car chassis is big, 1' - 6" wide x 1' -9 " long. It should be large
            > enough to hold the needed hardware. I would prefer if the car can be
            > programmed via a pc as well as on-board programming.
            > Any suggestions.
            >
            > Regards, Patrick Reid.


            I can see that you are a beginner in robotics, like me.

            What type of motors does the car have?
            Probably DC gear motors.

            To tell the speed of the car, you need a way to tell how many times per
            minute the wheels are rotating. The usual way to do this is to see how many
            times per minute the motors that drive the wheels are rotating.

            One way to do this is to add an "encoder" to the motor shaft, then make your
            microcontroller look at the encoder several times a second, to see how fast
            it is turning.

            (Alternatively, instead of putting the encoder on the motor shaft, you can
            put it directly on the wheel, or the wheel shaft.)

            Another way to tell the speed of the motor, is to use a stepper motor.
            This motor moves a specific number of degrees when told to move by your
            microcontroller, and does not move otherwise : so you know exactly
            how fast it is turning.
            (This type of motor does not need an encoder.)

            Another type of motor you can use is an RC servo, hacked so that it
            runs "in open loop". I.e. it can rotate completely around, unlike
            a normal RC servo, which can only turn about 90 degrees,
            (or, for some of them, up to 180 degrees).
            I think that there is some way to determine the speed of this sort of motor,
            but I'm not sure what it is. (I'm a newbie myself.) I think that you can
            direct the motor to turn at a specific speed, but I'm not sure.
            There may also be a way to tell how many times this motor has rotated,
            just as you can with a stepper motor, or a motor with an encoder,
            but I'm not sure about this.

            So you may have to replace the motors on the car with a new set.
            Otherwise you will have to add encoders to the motors or to the wheels.


            > I have all the data for the curves such as curve distance, curve radius
            > etc. All I need to do is to pre-programme the car to run around this curve
            > at a given speed over a set time. Do you think this is possible or do I
            > need to impliment an on-board laptop and GPS devices?
            >

            So it needs to "run around a curve".
            No, don't use GPS, I think its not accurate enough. (I think its accurate
            to about half a metre, I'm not sure.)
            One way to tell where the car/robot has moved to is by counting
            how many times each wheel has turned : this tells you where it has
            moved to, relative to its starting position.

            The wheels can slip on the ground, however. So you may like
            the robot to use a sensor to tell where it is.
            Read about "line following" robots. Is the track a visible line, that the
            robot can see, using the same sensors as other line-following robots?
            The sensors used by a line-following robot are cheap, and easy to use,
            so this is a good type of sensor to use if the track is easy to see.


            You wrote :

            > I would prefer if the car can be programmed via a pc as well as on-board
            > programming.

            That sounds sensible to me. It may not be necessary to program it
            via a PC, given that you will need to write an on-board program anyway,
            but it should be possible.

            Your robot will need a microcontroller, to read sensors and to send outputs
            to the motors. So you can use the microcontroller for on-board programming.
            For the programming via a PC, use a wireless connection between the robot
            and the PC.

            ---------------------------------

            Can you tell me a bit more about this project please.
            Can you tell me why you want to do it?


            --
            Martin Sondergaard.
          • Mr S
            Patrick, Does the track have a walled outer bank? Something that could be painted with targetable and identifiable signals as to let the vehicle understand
            Message 5 of 10 , Sep 1, 2004
            View Source
            • 0 Attachment
              Patrick,
              Does the track have a walled outer bank? Something
              that could be painted with targetable and identifiable
              signals as to let the vehicle understand where it is
              on the track? Either by vision, laser, or some other
              quick method of sensing. That's the only way I can
              think of that you will maintain speeds of up to 30 mph
              or anywhere close to it autonomously.

              Cheers

              > Patrick Reid wrote :
              >
              > > Hello,
              > >
              > > I have this project to work on that I need some
              > help with. I need to
              > > convert a radio control toy car into an autonomous
              > racing car. The car I
              > > have is able to run at 35 mph and that speed is
              > ok.
              > > The car will race around a custom built track that
              > has two large curves
              > > and two straights. I need to be able to programme
              > the car to run
              > > autonomously around this track. I need to
              > programme the speed at which the
              > > car runs over a given time period, say 15 mph for
              > 6 seconds, then 30 mph
              > > for the next 5 secs, then 20 mph for the next 9
              > secs, etc.
              > >
              > > I have all the data for the curves such as curve
              > distance, curve radius
              > > etc. All I need to do is to pre-programme the car
              > to run around this curve
              > > at a given speed over a set time. Do you think
              > this is possible or do I
              > > need to impliment an on-board laptop and GPS
              > devices?
              > >
              > > The car chassis is big, 1' - 6" wide x 1' -9 "
              > long. It should be large
              > > enough to hold the needed hardware. I would prefer
              > if the car can be
              > > programmed via a pc as well as on-board
              > programming.
              > > Any suggestions.
              > >
              > > Regards, Patrick Reid.





              _______________________________
              Do you Yahoo!?
              Win 1 of 4,000 free domain names from Yahoo! Enter now.
              http://promotions.yahoo.com/goldrush
            • patrick reid
              Hi, Thanks Martin. You have given me so much needed information that I feel like I can build this robot by myself. But tell me though, is it the
              Message 6 of 10 , Sep 2, 2004
              View Source
              • 0 Attachment
                Hi,
                Thanks Martin. You have given me so much needed information that I feel like I can build this robot by myself. But tell me though, is it the microcontroller that I will use to program the robot to travel at 10 mph for 6 seconds? or do I have to use a micro laptop?

                Patrick

                Martin Sondergaard <ms@...> wrote:
                Patrick Reid wrote :

                > Hello,
                >
                > I have this project to work on that I need some help with. I need to
                > convert a radio control toy car into an autonomous racing car. The car I
                > have is able to run at 35 mph and that speed is ok.
                > The car will race around a custom built track that has two large curves
                > and two straights. I need to be able to programme the car to run
                > autonomously around this track. I need to programme the speed at which the
                > car runs over a given time period, say 15 mph for 6 seconds, then 30 mph
                > for the next 5 secs, then 20 mph for the next 9 secs, etc.
                >
                > I have all the data for the curves such as curve distance, curve radius
                > etc. All I need to do is to pre-programme the car to run around this curve
                > at a given speed over a set time. Do you think this is possible or do I
                > need to impliment an on-board laptop and GPS devices?
                >
                > The car chassis is big, 1' - 6" wide x 1' -9 " long. It should be large
                > enough to hold the needed hardware. I would prefer if the car can be
                > programmed via a pc as well as on-board programming.
                > Any suggestions.
                >
                > Regards, Patrick Reid.


                I can see that you are a beginner in robotics, like me.

                What type of motors does the car have?
                Probably DC gear motors.

                To tell the speed of the car, you need a way to tell how many times per
                minute the wheels are rotating. The usual way to do this is to see how many
                times per minute the motors that drive the wheels are rotating.

                One way to do this is to add an "encoder" to the motor shaft, then make your
                microcontroller look at the encoder several times a second, to see how fast
                it is turning.

                (Alternatively, instead of putting the encoder on the motor shaft, you can
                put it directly on the wheel, or the wheel shaft.)

                Another way to tell the speed of the motor, is to use a stepper motor.
                This motor moves a specific number of degrees when told to move by your
                microcontroller, and does not move otherwise : so you know exactly
                how fast it is turning.
                (This type of motor does not need an encoder.)

                Another type of motor you can use is an RC servo, hacked so that it
                runs "in open loop". I.e. it can rotate completely around, unlike
                a normal RC servo, which can only turn about 90 degrees,
                (or, for some of them, up to 180 degrees).
                I think that there is some way to determine the speed of this sort of motor,
                but I'm not sure what it is. (I'm a newbie myself.) I think that you can
                direct the motor to turn at a specific speed, but I'm not sure.
                There may also be a way to tell how many times this motor has rotated,
                just as you can with a stepper motor, or a motor with an encoder,
                but I'm not sure about this.

                So you may have to replace the motors on the car with a new set.
                Otherwise you will have to add encoders to the motors or to the wheels.


                > I have all the data for the curves such as curve distance, curve radius
                > etc. All I need to do is to pre-programme the car to run around this curve
                > at a given speed over a set time. Do you think this is possible or do I
                > need to impliment an on-board laptop and GPS devices?
                >

                So it needs to "run around a curve".
                No, don't use GPS, I think its not accurate enough. (I think its accurate
                to about half a metre, I'm not sure.)
                One way to tell where the car/robot has moved to is by counting
                how many times each wheel has turned : this tells you where it has
                moved to, relative to its starting position.

                The wheels can slip on the ground, however. So you may like
                the robot to use a sensor to tell where it is.
                Read about "line following" robots. Is the track a visible line, that the
                robot can see, using the same sensors as other line-following robots?
                The sensors used by a line-following robot are cheap, and easy to use,
                so this is a good type of sensor to use if the track is easy to see.


                You wrote :

                > I would prefer if the car can be programmed via a pc as well as on-board
                > programming.

                That sounds sensible to me. It may not be necessary to program it
                via a PC, given that you will need to write an on-board program anyway,
                but it should be possible.

                Your robot will need a microcontroller, to read sensors and to send outputs
                to the motors. So you can use the microcontroller for on-board programming.
                For the programming via a PC, use a wireless connection between the robot
                and the PC.

                ---------------------------------

                Can you tell me a bit more about this project please.
                Can you tell me why you want to do it?


                --
                Martin Sondergaard.







                Visit the SRS Website at http://www.seattlerobotics.org
                Yahoo! Groups Links







                ---------------------------------
                Do you Yahoo!?
                New and Improved Yahoo! Mail - 100MB free storage!

                [Non-text portions of this message have been removed]
              • Tom Capon
                You would do best to keep the motors, and have the microcontroller use PWM signals to control the speed. You could use encoders to have a feedback loop (this
                Message 7 of 10 , Sep 2, 2004
                View Source
                • 0 Attachment
                  You would do best to keep the motors, and have the microcontroller use PWM
                  signals to control the speed. You could use encoders to have a feedback
                  loop (this can get complicated, I think). Or you could just have the
                  microcontroller use a table to pick the right PWM period for a given speed
                  (without any feedback). The mcirocontroller will be able to measure the
                  time and react to it. Does it have to steer, too?

                  At 02:52 PM 9/2/2004 -0700, you wrote:
                  >Hi,
                  >Thanks Martin. You have given me so much needed information that I feel
                  >like I can build this robot by myself. But tell me though, is it the
                  >microcontroller that I will use to program the robot to travel at 10 mph
                  >for 6 seconds? or do I have to use a micro laptop?
                  >
                  >Patrick
                  >
                  >Martin Sondergaard <ms@...> wrote:
                  >Patrick Reid wrote :
                  >
                  > > Hello,
                  > >
                  > > I have this project to work on that I need some help with. I need to
                  > > convert a radio control toy car into an autonomous racing car. The car I
                  > > have is able to run at 35 mph and that speed is ok.
                  > > The car will race around a custom built track that has two large curves
                  > > and two straights. I need to be able to programme the car to run
                  > > autonomously around this track. I need to programme the speed at which the
                  > > car runs over a given time period, say 15 mph for 6 seconds, then 30 mph
                  > > for the next 5 secs, then 20 mph for the next 9 secs, etc.
                  > >
                  > > I have all the data for the curves such as curve distance, curve radius
                  > > etc. All I need to do is to pre-programme the car to run around this curve
                  > > at a given speed over a set time. Do you think this is possible or do I
                  > > need to impliment an on-board laptop and GPS devices?
                  > >
                  > > The car chassis is big, 1' - 6" wide x 1' -9 " long. It should be large
                  > > enough to hold the needed hardware. I would prefer if the car can be
                  > > programmed via a pc as well as on-board programming.
                  > > Any suggestions.
                  > >
                  > > Regards, Patrick Reid.
                  >
                  >
                  >I can see that you are a beginner in robotics, like me.
                  >
                  >What type of motors does the car have?
                  >Probably DC gear motors.
                  >
                  >To tell the speed of the car, you need a way to tell how many times per
                  >minute the wheels are rotating. The usual way to do this is to see how many
                  >times per minute the motors that drive the wheels are rotating.
                  >
                  >One way to do this is to add an "encoder" to the motor shaft, then make your
                  >microcontroller look at the encoder several times a second, to see how fast
                  >it is turning.
                  >
                  >(Alternatively, instead of putting the encoder on the motor shaft, you can
                  >put it directly on the wheel, or the wheel shaft.)
                  >
                  >Another way to tell the speed of the motor, is to use a stepper motor.
                  >This motor moves a specific number of degrees when told to move by your
                  >microcontroller, and does not move otherwise : so you know exactly
                  >how fast it is turning.
                  >(This type of motor does not need an encoder.)
                  >
                  >Another type of motor you can use is an RC servo, hacked so that it
                  >runs "in open loop". I.e. it can rotate completely around, unlike
                  >a normal RC servo, which can only turn about 90 degrees,
                  >(or, for some of them, up to 180 degrees).
                  >I think that there is some way to determine the speed of this sort of motor,
                  >but I'm not sure what it is. (I'm a newbie myself.) I think that you can
                  >direct the motor to turn at a specific speed, but I'm not sure.
                  >There may also be a way to tell how many times this motor has rotated,
                  >just as you can with a stepper motor, or a motor with an encoder,
                  >but I'm not sure about this.
                  >
                  >So you may have to replace the motors on the car with a new set.
                  >Otherwise you will have to add encoders to the motors or to the wheels.
                  >
                  >
                  > > I have all the data for the curves such as curve distance, curve radius
                  > > etc. All I need to do is to pre-programme the car to run around this curve
                  > > at a given speed over a set time. Do you think this is possible or do I
                  > > need to impliment an on-board laptop and GPS devices?
                  > >
                  >
                  >So it needs to "run around a curve".
                  >No, don't use GPS, I think its not accurate enough. (I think its accurate
                  >to about half a metre, I'm not sure.)
                  >One way to tell where the car/robot has moved to is by counting
                  >how many times each wheel has turned : this tells you where it has
                  >moved to, relative to its starting position.
                  >
                  >The wheels can slip on the ground, however. So you may like
                  >the robot to use a sensor to tell where it is.
                  >Read about "line following" robots. Is the track a visible line, that the
                  >robot can see, using the same sensors as other line-following robots?
                  >The sensors used by a line-following robot are cheap, and easy to use,
                  >so this is a good type of sensor to use if the track is easy to see.
                  >
                  >
                  >You wrote :
                  >
                  > > I would prefer if the car can be programmed via a pc as well as on-board
                  > > programming.
                  >
                  >That sounds sensible to me. It may not be necessary to program it
                  >via a PC, given that you will need to write an on-board program anyway,
                  >but it should be possible.
                  >
                  >Your robot will need a microcontroller, to read sensors and to send outputs
                  >to the motors. So you can use the microcontroller for on-board programming.
                  >For the programming via a PC, use a wireless connection between the robot
                  >and the PC.
                  >
                  >---------------------------------
                  >
                  >Can you tell me a bit more about this project please.
                  >Can you tell me why you want to do it?
                  >
                  >
                  >--
                  >Martin Sondergaard.
                  >
                  >
                  >
                  >
                  >
                  >
                  >
                  >Visit the SRS Website at http://www.seattlerobotics.org
                  >Yahoo! Groups Links
                  >
                  >
                  >
                  >
                  >
                  >
                  >
                  >---------------------------------
                  >Do you Yahoo!?
                  >New and Improved Yahoo! Mail - 100MB free storage!
                  >
                  >[Non-text portions of this message have been removed]
                  >
                  >
                  >
                  >Visit the SRS Website at http://www.seattlerobotics.org
                  >Yahoo! Groups Links
                  >
                  >
                  >
                  >
                • Triffid Hunter
                  the microcontroller is more than powerful enough to handle this task :) in fact, it could be done with discrete, or even analog logic! you would be best off
                  Message 8 of 10 , Sep 2, 2004
                  View Source
                  • 0 Attachment
                    the microcontroller is more than powerful enough to handle this task :)

                    in fact, it could be done with discrete, or even analog logic!

                    you would be best off investigating methods of ensuring that the car is where it thinks it is - dead reckoning is very tricky at best, and at these speeds slippage will throw any calculations you do right out.

                    your microcontroller will handle this task as well with no problems.

                    most microcontrollers are either plugged into a programming device connected to your computer, or their daughterboard is able to accept a cable directly from your computer for programming. When powered on, they will do exactly what they are told. Be aware that telling them what to do is a fine art, what you think you're telling them can be very different from what they think they were told! And other times the information you think it should be getting is very different from what the chip is seeing. Being able to resolve these "differences in opinion" is one reason why roboticists are spread fairly thinly across the globe...

                    check out seattle robotics' encoder at http://www.seattlerobotics.org/encoder/ to get an idea of things that can be done, and how much work they can entail...

                    have fun!

                    On Thu, 2 Sep 2004 14:52:00 -0700 (PDT), patrick reid <patrickreidus@...> wrote:

                    > Hi,
                    > Thanks Martin. You have given me so much needed information that I feel like I can build this robot by myself. But tell me though, is it the microcontroller that I will use to program the robot to travel at 10 mph for 6 seconds? or do I have to use a micro laptop?
                    >
                    > Patrick
                    >
                    > Martin Sondergaard <ms@...> wrote:
                    > Patrick Reid wrote :
                    >
                    >> Hello,
                    >>
                    >> I have this project to work on that I need some help with. I need to
                    >> convert a radio control toy car into an autonomous racing car. The car I
                    >> have is able to run at 35 mph and that speed is ok.
                    >> The car will race around a custom built track that has two large curves
                    >> and two straights. I need to be able to programme the car to run
                    >> autonomously around this track. I need to programme the speed at which the
                    >> car runs over a given time period, say 15 mph for 6 seconds, then 30 mph
                    >> for the next 5 secs, then 20 mph for the next 9 secs, etc.
                    >>
                    >> I have all the data for the curves such as curve distance, curve radius
                    >> etc. All I need to do is to pre-programme the car to run around this curve
                    >> at a given speed over a set time. Do you think this is possible or do I
                    >> need to impliment an on-board laptop and GPS devices?
                    >>
                    >> The car chassis is big, 1' - 6" wide x 1' -9 " long. It should be large
                    >> enough to hold the needed hardware. I would prefer if the car can be
                    >> programmed via a pc as well as on-board programming.
                    >> Any suggestions.
                    >>
                    >> Regards, Patrick Reid.
                    >
                    >
                    > I can see that you are a beginner in robotics, like me.
                    >
                    > What type of motors does the car have?
                    > Probably DC gear motors.
                    >
                    > To tell the speed of the car, you need a way to tell how many times per
                    > minute the wheels are rotating. The usual way to do this is to see how many
                    > times per minute the motors that drive the wheels are rotating.
                    >
                    > One way to do this is to add an "encoder" to the motor shaft, then make your
                    > microcontroller look at the encoder several times a second, to see how fast
                    > it is turning.
                    >
                    > (Alternatively, instead of putting the encoder on the motor shaft, you can
                    > put it directly on the wheel, or the wheel shaft.)
                    >
                    > Another way to tell the speed of the motor, is to use a stepper motor.
                    > This motor moves a specific number of degrees when told to move by your
                    > microcontroller, and does not move otherwise : so you know exactly
                    > how fast it is turning.
                    > (This type of motor does not need an encoder.)
                    >
                    > Another type of motor you can use is an RC servo, hacked so that it
                    > runs "in open loop". I.e. it can rotate completely around, unlike
                    > a normal RC servo, which can only turn about 90 degrees,
                    > (or, for some of them, up to 180 degrees).
                    > I think that there is some way to determine the speed of this sort of motor,
                    > but I'm not sure what it is. (I'm a newbie myself.) I think that you can
                    > direct the motor to turn at a specific speed, but I'm not sure.
                    > There may also be a way to tell how many times this motor has rotated,
                    > just as you can with a stepper motor, or a motor with an encoder,
                    > but I'm not sure about this.
                    >
                    > So you may have to replace the motors on the car with a new set.
                    > Otherwise you will have to add encoders to the motors or to the wheels.
                    >
                    >
                    >> I have all the data for the curves such as curve distance, curve radius
                    >> etc. All I need to do is to pre-programme the car to run around this curve
                    >> at a given speed over a set time. Do you think this is possible or do I
                    >> need to impliment an on-board laptop and GPS devices?
                    >>
                    >
                    > So it needs to "run around a curve".
                    > No, don't use GPS, I think its not accurate enough. (I think its accurate
                    > to about half a metre, I'm not sure.)
                    > One way to tell where the car/robot has moved to is by counting
                    > how many times each wheel has turned : this tells you where it has
                    > moved to, relative to its starting position.
                    >
                    > The wheels can slip on the ground, however. So you may like
                    > the robot to use a sensor to tell where it is.
                    > Read about "line following" robots. Is the track a visible line, that the
                    > robot can see, using the same sensors as other line-following robots?
                    > The sensors used by a line-following robot are cheap, and easy to use,
                    > so this is a good type of sensor to use if the track is easy to see.
                    >
                    >
                    > You wrote :
                    >
                    >> I would prefer if the car can be programmed via a pc as well as on-board
                    >> programming.
                    >
                    > That sounds sensible to me. It may not be necessary to program it
                    > via a PC, given that you will need to write an on-board program anyway,
                    > but it should be possible.
                    >
                    > Your robot will need a microcontroller, to read sensors and to send outputs
                    > to the motors. So you can use the microcontroller for on-board programming.
                    > For the programming via a PC, use a wireless connection between the robot
                    > and the PC.
                    >
                    > ---------------------------------
                    >
                    > Can you tell me a bit more about this project please.
                    > Can you tell me why you want to do it?
                    >
                    >
                    > --
                    > Martin Sondergaard.
                    >
                    >
                    >
                    >
                    >
                    >
                    >
                    > Visit the SRS Website at http://www.seattlerobotics.org
                    > Yahoo! Groups Links
                    >
                    >
                    >
                    >
                    >
                    >
                    >
                    > ---------------------------------
                    > Do you Yahoo!?
                    > New and Improved Yahoo! Mail - 100MB free storage!
                    >
                    > [Non-text portions of this message have been removed]
                    >
                    >
                    >
                    > Visit the SRS Website at http://www.seattlerobotics.org
                    > Yahoo! Groups Links
                    >
                    >
                    >
                    >
                    >
                  • Martin Sondergaard
                    ... Given that you have to learn how to program the microcontroller anyway, you might as well put all your program on the microcontroller. There is no need to
                    Message 9 of 10 , Sep 2, 2004
                    View Source
                    • 0 Attachment
                      > Hi,
                      > Thanks Martin. You have given me so much needed information that I feel
                      > like I can build this robot by myself. But tell me though, is it the
                      > microcontroller that I will use to program the robot to travel at 10 mph
                      > for 6 seconds? or do I have to use a micro laptop?
                      >
                      > Patrick

                      Given that you have to learn how to program the microcontroller anyway,
                      you might as well put all your program on the microcontroller.
                      There is no need to put part of the program on a laptop.

                      You'll have to write a program for the microcontroller anyway,
                      because its the microcontroller that can read in inputs from the sensors,
                      and which can send outputs to the motors.
                      You will need to write a procedure to drive the motors forward.

                      To write a program to make it travel at 10mph for 6 seconds,
                      you just need to drive the motors forward at the right speed
                      for 6 seconds.

                      To stop the wheels slipping, it may be a good idea to accelerate
                      up to 10 mph gradually.
                      If you try to go from 0 to 10 mph in an instant, the wheels are more likely
                      to slip.
                      At 10 mph, slipping wheels may be a big problem,
                      so you will be dependant on sensors to keep it on the track.

                      Steering may be a tricky programming problem.
                      And the car needs to know where it is, well enough to keep on the track.


                      --
                      Martin Sondergaard.
                    Your message has been successfully submitted and would be delivered to recipients shortly.