HIGH COUNTRY Robotics Projects for LEGO NXT and TETRIX ROBOTICS Edited Brad Johnson Eric Marland by Kimberly Marland Tom Brown HIGH COUNTRY Introduction ROBOTICS Type of sensor(s) used or lesson type Each project or lesson plan is labeled according to the scheme at the right. Beginning students should begin with single sensor, difficulty “1” projects and then work their way up. Each project has a basic outline filled in – how much you provide for your students is up to you. A blank project page is included at the end of this file for you copy for your students or to create your own project. Please share any that you find particularly useful. Difficulty Enumeration Sensor / Lesson Key T – touch S – sound L – light M – motor / rotation U – ultrasonic E – engineering / physics principles O - other HIGH COUNTRY Table of Contents ROBOTICS Projects 0a – Try Me Sub-Menu. 0b – View Sub-Menu. S4a – Robot whisperer. S5a – Get funky. M1a – Curveball. M1b – Boomerang. M1c – Slinking. M2a – Parking. M2b – Driver’s Ed. M2c – Figure 8. M3a – Slalom. M3b – Geometry class. M4a – Dash. U1a – Stay back! U1b – Navigation. U2a – Molecule too. U2b – Stuck in traffic. U4a – Claustrophobia. U4b – Follow the leader. T1a – Touch and go. T1b – Kiss and run. T1c – Wait for it … T2a – Too steep. T2b – Search Pattern. T2c – Getting stuck. L1a – Don’t jump! L2a – And counting … L2b – Light maze. L2c – Follow the trail. L5a – Telephone. S1a – Red light, green light. S1b – Talk louder. S2a – Drill field. E1a – Mechanical advantage. E1b – Light and sound E1c – Human Programming. E1d – Pillar of strength. E1e – Magnetic personality. TU1a – Get me out of here. TU2a – Table Top. US4 – Trombone (Theremin). TS4 – Trumpet. UM4 – Soccer. OM4 – Infrared Hockey. UML5 – Parallel parking. UM5 – Egg race. Blank Forms HIGH COUNTRY NAME: PROJECT: DATE: TRY ME SUB-MENU OBJECTIVE: Learn the NXT sub-menus and test the various sensors ROBOTICS DESCRIPTION OF TASK: The TRY ME submenu lets you test your sensors and motors in a fun way: Connect the sensors and motors to the following standard ports: Input ports: Port 1: Touch Sensor Port 2: Sound Sensor Port 3: Light Sensor Port 4: Ultrasonic Sensor Output Ports: Port A: Port B: Port C: Motor used for extra function Motor used for movement (right wheel) Motor used for movement (left wheel) To get to the TRY ME submenu: 1. Press orange button to turn on NXT power. 2. Press gray left arrow once to get to TRY ME. 3. Press orange button once. To Try the TOUCH SENSOR: 1. Press gray right arrow once to get to Try-Touch. 2. Press orange button to get to Run. 3. Press orange button to Run program. 4. Press touch sensor to get a fun reaction! 5. Press the dark gray rectangular button twice to get back to the Try Me menu. Try the SOUND, LIGHT, and ULTRASONIC sensors with similar programs in the TRY ME submenu by using the gray arrows to scroll left and right. To Try-MOTOR, attach a third motor to Port A and rotate the orange wheel of the motor t get the reaction from the NXT. Note: Try COLOR won’t work without the COLOR Sensor, which is not included in this particular kit. ROBOT DESIGN / SPECIAL FEATURES: NONE PROGRAMMING FLOW CHART: NONE MAP OF TASK: NONE OBSERVATIONS AND QUESTIONS: 1. What is the NXT programmed to do when you Run the Try-Touch program? 2. What is the NXT programmed to do when you Run the Try-Sound program? 3. What is the NXT programmed to do when you Run the Try-Light program? 4. What is the NXT programmed to do when you Run the TryUltrasonic program? 5. What is the NXT programmed to do when you Run the Try-Motor program? HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: VIEW SUB-MENU OBJECTIVE: Learn the NXT sub-menus, test the various sensors and learn how to get data using the NXT/sensors DESCRIPTION OF TASK: The VIEW submenu lets you use the NXT to get data from the sensors: Connect the sensors and motors to the standard ports (see TRY-ME project), OR you can select the ports in each VIEW submenu. To get to the VIEW submenu: 1. Press orange button to turn on NXT power. 2. Press gray right arrow three times to get to VIEW. 3. Press orange button once. To get SOUND SENSOR data: 1. Press orange button to select dB (decibels: a measure of sound pressure) or right arrow and then orange button to get to dBA (adjusted decibels to adapted to the sensitivity of the human ear). 2. Press orange button and use arrows to select the port to which the sound sensor is connected. 3. Make noises and watch screen for readings of the sound volume. Sound pressure levels are extremely complicated, so the Sound Sensor readings on the NXT are displayed in percent (%). 4. Press the dark gray rectangular button once to get back to the View menu. Try the other VIEW submenus of Reflected Light, Ambient Light, Touch, Ultrasonic (in inches or centimeters) by using the gray arrows to scroll left and right. VIEW MOTOR allows you to measure distance in number of rotation or degrees of rotations. Start the VIEW MOTOR program and move the wheels of the BASE BOT to see how many degrees of rotation are required to go a certain distance or make a specific turn. Note: The View COLOR and TEMPERATURE submenus won’t work without the corresponding sensors, which are not included in this particular kit. ROBOT DESIGN / SPECIAL FEATURES: NONE PROGRAMMING FLOW CHART: NONE MAP OF TASK: NONE OBSERVATIONS AND QUESTIONS: 1. What is the difference between dB and dBA to the NXT? What sounds can you make that are measured by the dB reading but are ignored by the dBA setting? 2. What does the ultrasonic sensor measure? What are the smallest and largest readings that it will measure? 3. What is the difference between the NXT measuring reflected light and ambient light? Which one would be affected by shining a flashlight at the sensor? 4. How could you use VIEW motor rotations to determine distance? 5. When would you use VIEW motor degrees instead of motor rotations? HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: Curveball OBJECTIVE: - Program precise motion of the robot - Observe starting position sensitivity - Develop clear and careful explanations. DESCRIPTION OF TASK: Place robot in a 12 inch square box (defined by tape on the floor). Program the robot to move around an obstacle to accurately stop in another 12 inch square box on the other side of the box. This task requires autonomous movement. The obstacle is made of several small cones, some books, or other similar object. The two boxes are 6 feet apart, with the widest point of the obstacle midway between the boxes. Accuracy of movement is of primary importance, speed of completing the task is a secondary goal. ROBOT DESIGN / SPECIAL FEATURES: MAP OF TASK: This project uses the base robot and has no additional design features or attachments. start PROGRAMMING FLOW CHART: Move forward Turn left Move forward finish OBSERVATIONS AND QUESTIONS: 1. Did you use time, rotations, degrees, or some other measure to determine the distances that your robot moved? 2. Which motors did you use in order for the robot to make its turns? 3. Describe the initial placement of the robot in the box and the final placement in the target box (include a diagram). 4. How sensitive was the success of the robot on the initial placement in the starting box? 5. How would your program need to change if the distance between the two boxes was only two feet (include a diagram)? 6. Describe how you might be able to use only a single motor block to complete this project (while still avoiding the barrier). 7. How do you think that the number of turns used in the program changes how fast the robot completes the task? How do you think the number or sharpness of turns changes the accuracy? HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: Boomerang OBJECTIVE: - Program precise motion of the robot - Observe starting position sensitivity - Develop clear and careful explanations. DESCRIPTION OF TASK: Place robot in a 12 inch square box (defined by tape on the floor). Program the robot to move around an obstacle to return and accurately stop in original starting box. This task requires autonomous movement. The obstacle is made of several small cones, some books, or other similar object. The obstacle is place 3 feet from the starting box. Accuracy of movement is of primary importance, speed of completing the task is a secondary goal. ROBOT DESIGN / SPECIAL FEATURES: This project uses the base robot and has no additional design features or attachments. PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: 1. Did you use time, rotations, degrees, or some other measure to determine the distances that your robot moved? 2. How long did it take your robot to complete the task? 3. Which motors did you use in order for the robot to make its turn(s)? 4. Describe the initial placement of the robot in the box and the final placement in the target box (include a diagram). 1. How sensitive was the success of the robot on the initial placement in the starting box? 1. Describe how you might be able to use only a single motor block to complete this project (while still avoiding the barrier). What might prevent this from working in the room where you did this project? 2. What might you change in your program is you wanted the robot to finish in the same orientation as it began? HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: Slinking OBJECTIVE: - Program precise motion of the robot - Explore different ways of turning - Develop clear and careful explanations. DESCRIPTION OF TASK: Place robot along one side of a 36 inch square box (defined by tape on the floor or the legs of a chair or table). Program the robot to move around an obstacle to return and accurately stop in original position. This task requires autonomous movement. Use as least two different methods of turning. Accuracy of movement is of primary importance, speed of completing the task is a secondary goal. ROBOT DESIGN / SPECIAL FEATURES: This project uses the base robot and has no additional design features or attachments. PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: 1. Did you use time, rotations, degrees, or some other measure to determine the distances that your robot moved? 2. How long did it take for your robot to complete the task? 1. Which different way did you make your robot turn? 2. Which method of turning provided the most accurate turn? 3. Which method of turning kept the robot closest to the box? 1. How close to the original position did you get your robot to stop? 1. How would you program the robot to continue to move around the box? 1. How would you modify your program to move the other way around the box? 2. If you reversed all of the motor blocks and ran the program in reverse, would the robot move around the box backward? Why or why not? HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: Parking OBJECTIVE: - develop strategies for improving precision. - discover different methods for turning. DESCRIPTION OF TASK: Begin in the corner of a large box (4ft by 4ft). Orient the robot in one corner such that the drive wheels are parallel to one of the sides of the box. The robot should be 2cm from each of the adjacent sides of the box. Program your robot to move to the opposite corner of the box, staying completely within the box and finishing as close to the corner as possible. ROBOT DESIGN / SPECIAL FEATURES: This project uses the base robot and has no additional design features or attachments. PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: Driver’s Ed. OBJECTIVE: - develop strategies for improving precision. - discover different methods for turning. DESCRIPTION OF TASK: Begin with your robot next to a wall near an interior corner of a room or hallway. Program your robot to turn the corner and come to a stop as close to 1 meter from the corner as possible. ROBOT DESIGN / SPECIAL FEATURES: This project uses the base robot and has no additional design features or attachments. PROGRAMMING FLOW CHART: MAP OF TASK: 1 meter OBSERVATIONS AND QUESTIONS: HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: FIGURE 8 OBJECTIVE: Explore MOVE blocks and possibilities in programming DESCRIPTION OF TASK: Program BASEBOT to complete a Figure 8 and finish in starting position. Size and shape (rounded, squarish, angular, etc.) of the Figure 8 shall be decided by student/team. ROBOT DESIGN / SPECIAL FEATURES: PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: GEOMETRY CLASS OBJECTIVE: Discover relationship between motor rotations and robot turning DESCRIPTION OF TASK: Have the BASEBOT draw geometric shapes on paper using a pen attachment: Circle Square Pentagon Hexagon Extra Challenge: write a letter or even a word ROBOT DESIGN / SPECIAL FEATURES: PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: 1. Complete this chart: Shape Interior angle Circle na Triangle 60 degrees Square 90 degrees Motor degrees Notes Pentagon Hexagon 2. Did you measure or calculate the motor turns for the first shape? How? 3. Did you measure or calculate the motor degrees for the subsequent shapes? How? 4. How did the pen attachment design impact the success of drawing the shapes? HIGH COUNTRY NAME: PROJECT: DATE: Too Steep OBJECTIVE: - Learn about strategic placement of the touch sensor. - Learn the uses of the different settings for the touch sensor. ROBOTICS DESCRIPTION OF TASK: This project is more about design than programming. Your robot will drive up a ramp. When all of its wheels are on the ramp, the robot should stop – due to the touch sensor. ROBOT DESIGN / SPECIAL FEATURES: MAP OF TASK: This project uses the base robot. The touch sensor is attached in such a way that when the robot drives up the ramp, the touch sensor is pressed. Perhaps a trailing extension allows this to happen easily. Adjusting the length of the attachment adjusts when it will first touch the ground. PROGRAMMING FLOW CHART: move Touch sensor pressed stop OBSERVATIONS AND QUESTIONS: 1. When the robot is on level ground, how high above the ground is the sensor? 2. How far behind the rear wheel is the touch sensor? 3. What are the advantages or disadvantages of making the attachment flexible? 4. What setting did you use for the touch sensor? Why? 5. Could you have used one of the other settings for the touch sensor? How would your robot design need to change (draw a diagram)? 6. How could you design a robot that only stops for a ramp of a certain steepness (or steeper)? HIGH COUNTRY NAME: PROJECT: DATE: Wait for it … OBJECTIVE: - Initiate a program with a wait. - Differentiate “press”, “release” and “bump”. - Experiment with methods of turning. ROBOTICS DESCRIPTION OF TASK: This project is a race. There are two lines on the floor separated by six feet. Your robot will begin fully behind one line. Upon a word from an unbiased observer, two or more robots start their programs by using the touch sensor. After the touch sensor activation, the robots should wait 5 seconds, race to the far line, and then return past the original line. The winner is the first to fully cross the line on the return trip. ROBOT DESIGN / SPECIAL FEATURES: MAP OF TASK: This project uses the base robot with addition of the touch sensor. PROGRAMMING FLOW CHART: touch Wait 5 sec move Turn 180 degrees Or return backwards ??? move OBSERVATIONS AND QUESTIONS: 1. Does the robot move when you press the touch sensor? 2. Is it quicker to “press”, “release”, or “bump” and does one tend to move the robot more or less than the others. 3. Which different ways did you make your robot turn? 4. Which method of turning provided the most accurate turn? 5. Which method of turning was the quickest? 6. Are there any tactics you used that may have helped your success? Explain and/or diagram. 7. Why is the delay important or useful in this instance? 8. What other robotic applications might benefit from a delay or pause such as this? HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: Don’t Jump! OBJECTIVE: - Investigate the accuracy of the light sensor. - Develop a sense of NXTG decision making. DESCRIPTION OF TASK: Program your robot to move forward until it crosses a dark line on the floor. Then, have your robot turn and move again until is reaches another dark line on the floor and stop. ROBOT DESIGN / SPECIAL FEATURES: This project uses the base robot and has a light sensor facing the floor, placed very low to the ground. PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: And counting. OBJECTIVE: - Increase facility with the light sensor. - Learn to use the math block to collect and evaluate data. DESCRIPTION OF TASK: Program your robot to drive across several dark lines on the floor. Your robot should stop at the fifth line. ROBOT DESIGN / SPECIAL FEATURES: This project uses the base robot and has a light sensor facing the floor, placed very low to the ground. PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: HIGH COUNTRY NAME: PROJECT: DATE: Red light, green light. OBJECTIVE: - Develop a sense of the sound sensor. - Make use of loops and switches. ROBOTICS DESCRIPTION OF TASK: Program your robot to start and stop when it senses a sound. Fine tune your robot so that low background noise does not set it off. ROBOT DESIGN / SPECIAL FEATURES: MAP OF TASK: This project uses the base robot and a sound sensor, facing up away from the motors. No map needed PROGRAMMING FLOW CHART: OBSERVATIONS AND QUESTIONS: HIGH COUNTRY NAME: PROJECT: DATE: Stay Back OBJECTIVE: - Get comfortable with the settings on the ultrasonic sensor. ROBOTICS DESCRIPTION OF TASK: Program your robot to drive toward a wall and stop with the front of the robot 10 cm from the wall. ROBOT DESIGN / SPECIAL FEATURES: This project uses the base robot. An ultrasonic sensor is added to the front of the robot. PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: 1. By how much is the setting on the sensor different from the actual distance? 2. Run the program 5 times and comment on the actual distance from the wall. What are the mean and median? 3. How does the angle of approach change the accuracy of the program? 4. Try several walls with different surfaces? Is there a difference in how well the sensor pick up the wall? 5. Is there an angle for which the robot does not stop? HIGH COUNTRY NAME: PROJECT: ROBOTICS DATE: Stuck in traffic OBJECTIVE: - Use the ultrasonic sensor to adjust the speed of the robot. - Program a graded response to an input signal DESCRIPTION OF TASK: Program your robot to adjust its speed depending on the distance from an object in front of it using the ultrasonic sensor. The robot should come to a complete stop is the object in front of it is not moving. See if you can get several robots to mimic traffic and form a parade down the hall. ROBOT DESIGN / SPECIAL FEATURES: This project uses the base robot and has the ultrasonic sensor attached to the front. The sensor will be adjusted to sense another robot. PROGRAMMING FLOW CHART: move Ultrasonic sensor MAP OF TASK: OBSERVATIONS AND QUESTIONS: 1. Outline how your program adjusts its speed based on the distance from the object in front of it. 2. How long was your robot able to follow the object in front of it? 3. How many robots did you use in your parade? 4. Describe the primary difficulties in this project. Which were you able to overcome and how? 5. If you stop and then start the front robot, simulating stop lights, what should the motion of the robots look like? How is the motion different for robots at the front and back of the line? 6. Comment on how the results of this project might influence computer controlled cars (such as the ones Google is testing in California? HIGH COUNTRY NAME: DATE: PROJECT: Mechanical Advantage OBJECTIVE: - Determine the effects that different gear arrangements have on an elevator. ROBOTICS DESCRIPTION OF TASK: You will use two motors to raise an “elevator” and you will determine the best gear arrangement to raise the maximum amount of mass in any amount of time, as well as, the best gear arrangement to raise the elevator as quickly as possible with the maximum amount of mass . ROBOT DESIGN / SPECIAL FEATURES: You will need to use two motors connected by a cable in the following design: Diagram of gear design that moved the maximum amount of mass Data and Observations: Amount Number Of mass of Turns Time that it took Diagram of gear design that moved the elevator the quickest OBSERVATIONS AND QUESTIONS: 1. What was the maximum amount of mass that your elevator was able to lift? How many turns it take? How much time did it take? 2. What was the shortest amount of time that your elevator was able to get to the top? How many turns did it take? How much mass were you able to lift? 3. Describe the gear arrangements for lifting the maximum amount of mass (gear arrangement A). How does this compare to the gear arrangement for the quickest amount of time (gear arrangement B)? 4. What are the disadvantages of using gear arrangement A? How about gear arrangement B? Explain. 5. What type of robot would benefit from using gear arrangement A? Explain. 6. What type of robot would benefit from using gear arrangement B? Explain. HIGH COUNTRY NAME: DATE: PROJECT: Human Programing OBJECTIVE: - Be introduced to programing - Learn how to write clear and careful explanations ROBOTICS DESCRIPTION OF TASK: Your team will write down a list of steps so that a robot will be able to accomplish the tasks that your teacher gives you. You will give your program to another team to use with their robot, and another team will give you their program to use with your robot. GROUP MEMBER/TASK: PROGRAMMING FLOW CHART: MAP OF TASK: PROGRAM: 1. OBSERVATION AND QUESTIONS: 1. Robots follow the program exactly how it is written, give an example of where this worked out well and one where it worked out poorly. 2. What problems did you encounter with your program? What worked well with your program? 3. If you had to rewrite the program what changes would you make? Explain. HIGH COUNTRY NAME: DATE: PROJECT: PILLAR OF STRENGTH OBJECTIVE: - learn basic engineering principles ROBOTICS DESCRIPTION OF TASK: You will build a structure out of sticks and play dough that is tall and can handle being tilted on an incline. Your structure has to fit in the given 32 cm square and then it will then be tilted on the incline until the structure falls over. Success will be determined by the product of the height of the structure times the maximum angle. SKETCH OF INITIAL DESIGN OF STUCTURE: OBSERVATIONS OF STRUCTURE: Final Height of Structure: Maximum Angle: CHANGES THAT YOU MADE TO STRUCTURE/SKETCH OF FINAL DESIGN OF STRUCTURE : OBSERVATIONS AND QUESTIONS: 1. At what angle did your initial structure fall? What caused it to fail? How did you change your structure? HIGH COUNTRY NAME: PROJECT: DATE: GET ME OUT OF HERE! OBJECTIVE: Use sensor input to direct movement ROBOTICS DESCRIPTION OF TASK: Part 1: Using a BASEBOT with touch sensor attachment, program your robot to find its way out of some sort of enclosure by changing direction when it runs into a wall. Part 2: Revise your robot and program to use the ultrasonic sensor attachment to escape the enclosure. ROBOT DESIGN / SPECIAL FEATURES: MAP OF TASK: Enclosure of books, blocks, walls, etc. Touch Sensor attachment and Ultrasonic attachment Enter exit PROGRAMMING FLOW CHART: Move forward touch Back up LOOP Turn OBSERVATIONS AND QUESTIONS: 1. What did you program your robot to do when the touch sensor is pressed? 2. Did you use a loop command in your program? 3. How many times did the touch sensor get activated before the robot could find the way out of the enclosure? 4. How did you change the program when you switched to using the ultrasonic sensor? 5. How many times did the robot need to turn using the ultrasonic sensor before it could find the way out of the enclosure? HIGH COUNTRY NAME: PROJECT: DATE: TABLE TOP OBJECTIVE: Use sensor input to direct movement ROBOTICS DESCRIPTION OF TASK: Use light sensor or ultrasonic sensor to keep the robot from driving off a table top. ROBOT DESIGN / SPECIAL FEATURES: PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: HIGH COUNTRY NAME: DATE: PROJECT: Ultrasonic Theremin OBJECTIVE: Create a musical synthesizer using an ultrasonic sensor. ROBOTICS Learn more about accurate measurements. DESCRIPTION OF TASK: Create an instrument that uses the ultrasonic sensor to control the pitch. Determine the accuracy and range relevant to the instrument. ROBOT DESIGN / SPECIAL FEATURES: DESIGN IDEA #2: PROGRAMMING FLOW CHART: Loop Press touch sensor Read Ultrasonic sensor Play Note Release touch sensor OBSERVATIONS AND QUESTIONS: 1.) How easy was it to play a certain note? How could you improve this? 2.) What are the advantages of a slide or track on the instrument? 3.) How could you improve the range of notes on this instrument? The dynamic range? 4.) How could you modulate the sound to have more texture? HIGH COUNTRY NAME: DATE: PROJECT: Trumpet of the Lego OBJECTIVE: Learn how to make a musical synthesizer. ROBOTICS Experiment with switches. DESCRIPTION OF TASK: Build a trumpet from the NXT and program it so that you can play a notes and/or a short song. Try using a rotation sensor to give it a wider range. Experiment with the sound block to produce the clearest sound and fastest note change capabilities. Build a small ensemble. ROBOT DESIGN / SPECIAL FEATURES: To u c h s e n s o r s Rotation sensor PROGRAMMING FLOW CHART: Loop Wait for center button to be pressed Read sensors to determine note. Play note Wait for center button to be released OBSERVATIONS AND QUESTIONS: 1.) HIGH COUNTRY NAME: DATE: PROJECT: OBJECTIVE: ROBOTICS DESCRIPTION OF TASK: ROBOT DESIGN / SPECIAL FEATURES: PROGRAMMING FLOW CHART: MAP OF TASK: OBSERVATIONS AND QUESTIONS: