Announcement

Collapse
No announcement yet.

Keep Robot Going Straight

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Keep Robot Going Straight

    Our robots can never keep moving in straight line and always ends up going off course. When placed on the table, it would start off going straight then would veer off a bit causing it to hit the wall. We would use our hands to keep it in a straight path as it moves but, of course, we know it is not allowed in the competitions. We first thought the problem was the pivot wheels and tried 4 wheel robots but it still ends up going off course. Can anyone provide suggestions on how to keep the robot moving in a straight line?

  • #2
    Re: Keep Robot Going Straight

    What is your wheel set up? 2 wheels powered in the back, skid steers in the front? 2 wheels powered in the front, skids in the back? Or are all 4 powered?

    One big issue is where the COG (Center Of Gravity) is. If there is a lot of weight on the skidding wheels, the driving wheels don't have nearly enough traction to move the robot affectivle. Try placing the NXT brick right above the wheels and see if that helps.
    Jayko543
    FLL member of 2 years
    http://www.legosinparadise.blogspot.com

    Comment


    • #3
      Re: Keep Robot Going Straight

      Getting LEGO robots to drive straight is and always will be hard. If you are using the wheels that come with the NXT 1.0, try making sure that the tires are on both of the wheels the same way (there are several ways to do it). Also, consider putting a piece on the side of your robot so it can slide or roll along the wall and have the robot turn into it.
      textnav - 2 second downloads, comments that stay with code, no more broken wires and annoying NXT-G problems - http://code.google.com/p/textnav2/

      Comment


      • #4
        Re: Keep Robot Going Straight

        This is a common problem. Take a look at some of these threads from previous years and see if any of the suggestions discussed may apply to you.

        FLL: Is there a reason "Go Straight" often drifts left?

        Does your robot drive straight?

        Here are some quick things to check
        1. Use motor ports B and C for better synchronization
        2. Use a single MOVE block controlling both motors B and C instead of two independent MOVE or MOTOR blocks controlling the motors independently (unless you really want to roll your own motor synchronization code).
        3. Does the robot always turn in the same direction? If so, switch motors and see if it turns in the opposite direction.
        4. Test your motors and try to find the best two for a matching pair.
        5. Realize robots won't usually go perfectly straight. You can live with a drift of about 1 inch to the side for every 4 feet traveled, as long as it is consistent.

        Comment


        • #5
          Re: Keep Robot Going Straight

          Thanks, everyone, for your very helpful responses. Glad to know I'm not the only one experiencing this problem and that there are some ways around it. Hopefully any one or some of these will work.

          We have tried numerous models (copied and original designs). Some examples of the copied designs are the castor bot by Dave Parker, Mr. Kee's domabotics design, the taskbot, tribot, etc. It seems that no matter what design we build, we have the same problem with it moving off to one side. If this is so common, how does it not interfere when in competitions? The whole "works today, messes up tomorrow" thing is driving us nuts!

          Comment


          • #6
            Re: Keep Robot Going Straight

            This is a problem that everyone has and may be made worse by uneven tables at competitions. Most teams use light or touch sensors to frequently establish known positions on the table (go until the robot touches a wall or until it finds a line).

            To prepare for a tournament it helps try your robot with the table tilted in various directions (lift each side/end 1-2 inches) to ensure that your robot can 'find its way' in spite of table variations.

            Comment


            • #7
              Re: Keep Robot Going Straight

              Rethink your strategy. If you need to go straight, but the robot won't do so repetedly, you will fail. Learn what your robot can do well and develop a new strategy around that.

              FLL isn't supposed to be easy. If it were easy it wouldn't be any fun.

              Comment


              • #8
                Re: Keep Robot Going Straight

                There is not a single cause and getting repeatable results with imperfect parts is part of the engineering challenge. TimDavid gives some good suggestions.

                Here are some other suggestions we have found over the years:
                1) The motors are likely to perform more consistently at 70% power than at 100% power.
                2) Sometimes it's better to use skids for the unpowered points of contact with the board rather than wheels (free spinning wheels seem to operate very inconsistently)
                3) It's important that the weight of the robot be balanced between the two drive wheels. If one wheel has slightly less weight on it than the other, it may spin just a bit and cause the robot to tend towards one side
                4) Try different tires configurations - depending on the surface and the weight of the robot, different tires may have more traction - the tank treads often give very good traction because they have multiple points of contact with the surface.

                Hope this helps. Consistency is always a big challege.

                Comment


                • #9
                  Re: Keep Robot Going Straight

                  Just another thing to consider.
                  If you have the ability, consider testing your motors to see which motors are most closely sync'ed. Marco over at TechBrick.com has a great article found here.
                  RoboDesigners

                  VRC Team 2190

                  Visit my website! www.RoboDesigners.com

                  Twitter: @RoboDesigners

                  Comment


                  • #10
                    Re: Keep Robot Going Straight

                    Originally posted by RoboDesigners View Post
                    Just another thing to consider.
                    If you have the ability, consider testing your motors to see which motors are most closely sync'ed. Marco over at TechBrick.com has a great article found here.
                    The problem with matching motors is that it is at best a band aid. My girls wrote a PID controller around the motors to keep them synchronized. On our flat wood floor the robot could repeatedly drive 4 meters with less than 1 cm of error (less than 1/4 percent). Confident the robot would go where programmed they wrote odometry based solutions for all the challenges. During practice the robot scored 400 9 times out of 10.

                    At the tournament the robot had problems. The mat or table was slightly different from what we had at home and it made the robot fail every time. The girls could not correct the problem because the error only occurred on the tournament table and we could not practice there. Luckily they got to run one mission on a different table (there were 4 at the tournament) and scored 400 on that run.

                    For the state tournament they threw out all the odometry based solutions (which they knew were a bad idea to begin with) and went extreme the other way with tons of sensor usage. Again there were problems at state, but the robot could self correct and the scored reliably in the 380-395 range.

                    Time spent making the robot go straight is time better spent learning how to use the sensors and working on more robust solutions.

                    Comment


                    • #11
                      Re: Keep Robot Going Straight

                      True, but it will help if your motors are as closely synch'ed as possible. I'm not saying that will be a "cure-all," but rather just one more way of reducing the error. "Smart navigation" solutions, like PID, line following, etc., should be relied on more heavily than just matched motors, however...
                      RoboDesigners

                      VRC Team 2190

                      Visit my website! www.RoboDesigners.com

                      Twitter: @RoboDesigners

                      Comment


                      • #12
                        Re: Keep Robot Going Straight

                        Originally posted by RoboDesigners View Post
                        True, but it will help if your motors are as closely synch'ed as possible. I'm not saying that will be a "cure-all," but rather just one more way of reducing the error. "Smart navigation" solutions, like PID, line following, etc., should be relied on more heavily than just matched motors, however...
                        Either I'm misreading your response, or I wasn't clear in my post. What I'm trying to say is that even if your odometry is perfect (wheels move exactly as programmed) it doesn't mean that your robot will go where you want. Odometry is a lousy way to program an autonomous robot and should be avoided as much as possible. Any table tilt, small bumps, slick or dirty surface, change in weight distribution, etc... will throw of an odometry based solution. In other words, odometry cannot compensate for any of the variables that YOU HAVE LITTLE OR NO CONTROL OVER.

                        At the state tournament we had several teams sit in on our technical judging, and many others who dropped by to ask questions. The girls found it aggravating that everyone kept asking about the PID and controlled turns and going straight. They tried very hard to impress upon the questioners that the robot preformed well because it didn't depend at all on going straight and turning accurately. Eventually my daughter quieted disbelievers by turning off the PID and doing a table run. Even though the robot now had a very noticeable veer (about 2" for every foot) it did a perfect run in a minute thirty.

                        Comment


                        • #13
                          Re: Keep Robot Going Straight

                          Sorry... I think I misunderstood your post...

                          I totally agree - odometry should be avoided as much as possible. Using sensors (aside from rotation sensors) can produce a much more accurate result.
                          RoboDesigners

                          VRC Team 2190

                          Visit my website! www.RoboDesigners.com

                          Twitter: @RoboDesigners

                          Comment


                          • #14
                            Re: Keep Robot Going Straight

                            Something that nobody has mentioned is that one way to get a robot to go straight is to make it impossible for it to turn (or curve). I've seen teams score 400's with robots that had almost zero ability to turn. Everything was done with straight shots from base (at a very high speed).

                            Multiple wheels on each side of the robot, with precisely aligned axles, and a long wheel base (think rail dragster), will general track fairly strait and be only moderately affected by imperfections and the tilt of the table.
                            Jim Sluka
                            Coach 2001 - 2009
                            Center Grove Middle School Central
                            Greenwood, Indiana USA

                            Comment


                            • #15
                              Re: Keep Robot Going Straight

                              The more I read, the scarier it sounds! I plan to print and use these posts when working with my team. Thanks for all of your great advice!

                              Comment

                              Working...
                              X