Self Navigating:

Bottom line to a self navigating robot goes to this one simple question, "Where am I?"  Once you can solve this, room by room, alley way by alley way, beginning and end, your robot can go any where.  So, is it in the programming?  Yes!  Is it in the build and what sensors you use?  Yes again!  How you ask?  Well, lets start with this:

1.  Do the DOLE PINEAPPLE MAZE or a CORN MAZE yourself.  Without anyone's help, how do you get to certain points in the maze?  How do you know what point is what? You look for guides!  You either look for some land mark or perhaps sun directions, but something to indicate where you are or where you came from. 

2.  Ants leave chemical markers for other ants to follow, this will eventually, and hopefully, lead these ants to food to take back.  "Bread crumb trails!"  In our story here, "Ant trails!"

3.  We use our eyes, ears, nose, touch, etc. (our 5 senses) to navigate.  The robot is limited to a light sensor, touch sensor, and for some sets, an ultrasonic sensor (for distance).  Sometimes you have to use things in combination to even get through one area of the maze.

4.  The rotation sensor can help in helping make more exact movements.  You'll get to know the distance between one thing and the next before making a turn for instance.  This may not always work if you have one rotation sensor on one wheel and two wheels have separate motors.

5.  The more complex the mazes are, the simpler you want to be on your robots and use less "Self Navigation" and more exact movement programming.

Warning:  Make sure you follow all rules from the competition you are participating in.  If a strategy does not fit, skip that strategy and move on, or find a creative way to do that strategy if possible.

Strategies: 

Ok, now that's out of the way, lets figure out what you can do.  Try this:

1.  Some robots can leave markers at the door they entered, and programmed not to avoid those markers after dropping them.  This will only give the robot one solution for an out.  You may even use bread crumb trails (The markers would really be colored blocks or something the robot can see).  Those markers will give the robot a sense of where not to go.

2.  Use your sensors to the fullest, but for one kind of job.

3.  After sensing a wall, you'll either read mostly to the right of things, or mostly to the left of things.  Try not to make this the "I'll read both left and right".  By "read" I mean that it will sense something like a wall.

4.  Try to use a robot that can do pin-point turns versus one that uses wide turns.  If not, figure out the swing of the turn so that your robot does not have to figure out how to get out of a situation (like bumping a wall). 

5.  Use timed blocks or loops to get from one place to the next.

6.  Use rotation sensors especially when you have to make your way back in the maze.  This will give more exact timing both ways.

7.  Keep your robot small and compact.

8.  Use touch sensors for front and/or back to avoid knocking things down and to avoid getting stuck in a corner.

9.  Again read right or left, your new direction after the touch sensor is activated, or light sensor is activated should reflect the same principal or reading right or left.

Remember this in programming:

1.  Always write down your pseudo code first and brainstorm with others.  You want to thoroughly think things out.  You may want someone to read over your pseudo code to recreate it.  If they can recreate your code by reading your pseudo code, you have a historical copy to go back on.  If not, then your team will be in trouble when your program is erased, by accident.

2.  Take the carpenters rule of thumb, "Measure once, and then measure twice, and before you actually cut, measure again".  You can make a piece of wood shorter but not longer.  This applies to when you plan for your programming.  Go to the course and measure things out once, twice, and three times before committing anything.  This is to be sure of what results you have.

3.  Try to make your program as clean and simple as possible.  Programming every crack and cranny in a course is not necessarily a good idea.  See if self navigation is efficient compared to step by step, course by course programming.

4.  Mark sections of your program with a lamp flash, or sound to indicate that the program is at a certain point.

5.  Label sections of your program, and if you can (only for repeating patterns), do a sub routine.

6.  Always save after every change.

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

Use real world devices as models - the engineers that worked on the real world devices know that other things may not work: 

 

Picking up balls and delivery system:

1.  Swivel Sweeper   - no suction needed (use this idea to pick up balls of all sizes)

2.  Think of a broom and dust pan as well.  Something catches (the broom) the rubbish after it is placed just before the pan's lip and then the rubbish is pushed in by the broom in the final sweep. 

3.  Ball launcher for tennis - this has no suction either

What can we learn from these two devices to pick up balls off the ground, and then deliver it to a place or container?

How it's put together: 

Look at the sweeper.  It basically sweeps things up.  You too can build this.  The dumping of the material is not as bad.  Like a baseball launcher (you know, the automatic thrower) it uses a series of internal gears to turn wheels the allow the baseballs to be picked up by two wheels and a series of rolling wheels pushes the ball through increasing its speed until the last set of wheels that basically puts pressure on the ball while spinning fast launching the ball as it passes through at a high rate of speed.  Well you can use the sweeper on the bottom while you have a container behind the sweeping wheel that is attached to a launcher.  Basically you can launch out what you pick up.  So you can basically have the sweeper do the collection, then you can activate the launcher in the end, as the robot finds where the balls should land, and launch in that direction.

Arm ball grabber:

1.  Arm and gripper on wheels by Davis in California on LEGO site. 

What are the best grabbers?

Unfortunately the best thing you can build to grab would be like a scoop with something that sweeps the item in.  This is truly the best technique.  However, there are pretty good grabbers that have finger like extensions.  These can do the job but are not general enough to grab just anything.  

Mechanical arms and finger like extensions are still being studied to create something that's efficient and effective enough for almost any application.  Don't be mistaken with industrial line machines that were made for specific jobs.  Remember that those arms and finger like extensions are made for just one job and fits the object to grabber like a perfect glove.  The bad part is when you try to make a grabber that can pick up anything.  Most machines don't know when to stop grabbing and may either not grab enough or grab too hard.  When you build a grabber that does general grabbing you have to things about: 1.  size of object, 2. weight of object, 3. number of object(s), 4. surface of object, 5.  whether object is fragile or hard, and 6. shape of object.  There are so many factors to think about.

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

Ball delivery device:

These two devices allow for a ball or object to be dropped into something. 

1.  This first one is a front bump device.  It hits the wall, triggers the angled arm to lift thus pushing ball out of carrier.

2.  The second device has a side arm.  The side, bottom, arm hits a container where the ball or object will be delivered, then allows another arm to fall and drop the ball or object.

Imagine one end of a plank of wood on the edge of a table while the other end it balanced on a stick.  Now, knock out the stick and that end of the plank of wood would drop.  This is the same concept as number 2.

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

Grabber:  (no motor)

Upon forward motion, the object (whatever is being grabbed) will bump into a bumper and push it back causing the arms to close on the object.  The forward motion will keep it closed.  When the object is no longer pushing on the bumper, it will release the bumper and rubber bands on the pins on either side will cause the arms to open.

Grabber movie  <-- click to play

Ball slide:  (no motor)

This device relies on a front hanging bumper to be bumped to push up a lever to make a ball roll off.

Movie 01   <-- click to play

Movie 02    <-- click to play

Ball dropper:  (no motor)

This device relies on an object being in front (like a wall) and/or an object on the ground where the bumpers can hit the wall or object and release the ball resting on the ball dropper.

Movie for ball drop   <-- click to play