http://science.ksc.nasa.gov/biomed/marsdome/
Build
What is the plan?
http://marsrovers.nasa.gov/mission/tl_entry1.html
TIPS FOR STRONG BUILDING
Use bracing to
reinforce your
building.
Because the distance from Earth to Mars is so great (55 and 100 million km),
we cannot
the Mars rovers
control
cannot
our rover
be controlled
remotely.remotely.
This means
A successful
that a successful
rover must
roverbe
mustto
able benavigate
able to navigate
the Martian
the martian
landscapelandscape
autonomously
autonomously
(on its own).
(on its Over
own).
Thiscourse
the assignment
of thisisassignment
broken intoyou
four
will...
different segments to help you learn how
Wait For Time to program a rover that has the ability to respond to its environment. Over
the course
Learn
of this
to use
assignment
time to control
you will...
your rover’s movements,
Learn toyour
Control use time to control
car with your rover’s
the rotation sensor.movements,
Control
Programyour
yourcar with
rover to the rotation
shutdown sensor.
when the sunsets
Procedure:
3. Create a new project by pressing the button. Name your project “Mars Rover.”
4. The new screen that opens will look like this. Please click on
the down arrow that is next to Program Level 1 and select
5. Select each icon on the new programming screen and delete each of
one.
7. After the green light, add the motors that correspond to the motors on your rover. .
8. Now you need to add the wait for time icon to tell the motors how long to run for. To do this, open the
wait for menu and drag the wait for time icon into your program .
9. To tell the car how long to drive for, go to the modifiers menu , find the numeric consonants icon 0 ,
drag it under the clock and connect the text box to the bottom of the wait for time icon. Now type the
time that you want your rover to travel into this box.
3
10.What do you want to happen once the time passes? To stop your rover place an ABC stop sign after the
wait for time.
3
12.Upload your program by turning on your RCX, plugging in the IR tower, and pressing the that is located
at the top left corner of the programing panel.
13.Now run your rover three times, measure the distance that it travels each time, and enter the data into the
following data table.
14. Reprogram you rover to run for 1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds and 6 seconds and
repeat step 13 for each time.
WAIT FOR TIME-DATA
Enter your data from step 13 into the following table.
1 Second
2 Seconds
3 Seconds
4 Seconds
5 Seconds
6 Seconds
Distance Time
10 cm
20 cm
30 cm
50 cm
80 cm
1m
1.5 m
3m
10 m
Procedure:
1. Attach the rotation sensor to one of your rover’s axles and connect it to input port 1 (see the diagram on
page 5 if you do not know where input port 1 is). HINT: For your rotation sensor to be most
accurate, it must be securely fastened to your rover.
6. Instead of adding a wait for time icon, you are going to use a wait for rotation icon. This icon is in the wait
for menu like the clocks and it looks like this . Once you find it, add it to the end of your program.
7. Unlike the wait for time icon, you need to tell the computer where the rotation sensor is plugged in. To do
this, open the modifiers menu , find the input 1 icon , and drag it underneath the rotation sensor.
8. While you are in the modifiers menu, you should also take a numeric consonants box 0 and place it under
the rotation sensor. You will enter how many rotations you want your rover’s axle to move in this box. Now
enter 16 into the box. REMEMBER: RoboLab measures rotations in 16ths. 1 rotation = 16
10. Now run your rover three times, measure the distance that it travels each time, and enter the data into the
following data table.
11. Reprogram you rover to run for 1/16th of a rotation, 2 full rotations, 4 full rotations, 5 full rotations, 10 full
rotations, and 20 full rotations and repeat step 10 for each trial.
WAIT FOR ROTATION-DATA
Enter your data from the step 13 into the following table.
1/16th of a Rotation
1 Full Rotation
2 Full Rotations
4 Full Rotations
5 Full Rotations
10 Full Rotations
20 Full Rotations
Distance Rotations
10 cm
20 cm
30 cm
50 cm
80 cm
1m
1.5 m
3m
10 m
Requirements: Use your rover from assignment 1 and write a program that has your rover shut down when
the lights are turned off and start moving again when the lights are turned back on.
Procedure:
1.Attach a light sensor to your rover and connect it to input port 1. HINT: Your program will work best if the
light sensor is pointing up.
3. Once your project opens, add a new program by clicking on the + sign on the bottom left hand corner of the
screen and name it “saving power” by typing in the text box in the top right hand corner of the screen.
4. After that, change the program level to 5 , open the program, and delete all of the icons that are on the
program pallet.
5. Now you are going to write a simple program that will drive your rover around the room. Start by writing a
program that has your rover drive forward and then turn. You can choose what wait for icons to use to control
the duration of each segment of the program.
6. Test this section of the program to make sure that your rover behaves like you want it to.
7. To make programming more efficient, programers often use loops to repeat sections of their program over
and over again. The type of loop that we are going to use to repeat the section that we just wrote is called a
jump. To repeat a command, you need to start by placing a land arrow before the string of commands that you
would like to repeat and a jump arrow at the end of the same string. Look at the following set of commands to
learn how to do this.
3. Inside the structures pallet you will find the jumps. Place any color jump arrow at the end
of your drive and turn sequence and the same color landing arrow at the beginning of the
sequence. Your program should look something like this.
4. Now test your program. It should repeat the same movement pattern over and over
again.
SAVING POWER
8. Once you get your rover to behave like you want it to, you need to add another section to the program
that will make it rest when the sunsets (the lights are turned off). To do this we are going to add an event.
Enter the events pallet by going to the structures pallet and then selecting the events symbol .
9. Events are a cross between wait for commands and jumps. At the beginning of the program you need to
initialize the event, which tells the program to run your regular program until an event occurs. In this case the
event is going to be the lights turning off. Then at the end you need an event landing that tells the program
where to jump to when the event occurs. Let’s get programming.
1. Use the icons in the events pallet to make your program look like this.
Initialize Event
event Jump
2. Like when you program with the wait for icons, you need to add modifiers to the event icons to tell
the RCX what port they are plugged into. Go to the modifiers pallet and add this icon.
3. You also need to link each part of the event together. You do this by pressing on the key in the
4. Once you are in the event modifiers menu, put a key from the first column of the first row under the
set-up light sensor event icon and a key from the second of the first row under the start monitoring for
an event icon.
5. Finally, finish the program by telling the robot what you want it to do after the lights go off.
7. Challenge: Can you find a way to modify your program so that your rover wakes up again
when the lights are turned back on and repeats this program over again?
SAVING POWER
Why did the directions ask you to test your rover after you completed each section of the
program?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
If you have time, watch some of the Mars Rover videos at http://marsrover.nasa.gov/gallery/video/
Recover Stranded Astronaut!
Problem: Just two days ago, on March 23, 2036, your crew of four astronauts made history. While billions
of people watched from Planet Earth, your internationally sponsored Horizons spacecraft landed on Mars –
and you and your fellow crew members became the first humans to set foot on another planet. But now
triumph is quickly turning into disaster. It has been ten hours since fellow Officer Misaki Kato was separated
from the rest of the Horizons crew during a fierce Martian dust storm. You understand all-too-well that if
she’s not found before the Martian sunset, she will be forced to spend a night alone with a dwindling oxygen
supply and temperatures dropping to below 200 degrees Fahrenheit. Your mission is to use your knowledge of
robot programming to create a search program, then engage the Mars rover to find Misaki in the shortest time
possible. All of humankind – not to mention Misaki! – is counting on you. Good luck!
Requirements: Build a rover that will search the Martian surface (a white mat that is 4ft by 6ft with a thick
black border), stop when it finds Misaki (a Lego astronaut that is taped to the top of a filled water bottle), and
play a victory song. Hint: The position of Misaki will change after each attempt and your rover must start in
the same position every time.
Procedure:
http://1div0.files.wordpress.com/2008/01/
nasa_mars_earth_500px1.jpeg
http://rlv.zcache.com/out_in_a_martian_dust_storm_poster-
p2282435200890777138h7h_400.jpg
SPEEDY EXPRESSIONS GRAPHING ROTATIONS
Assignment 3
Story: Imagine a bright and sunny sol on Mars and your rover is traveling at a good clip when all of a sudden it
mistakenly falls into a deep crater and slams to a stop at the bottom. After stopping for a moment, it slowly
climbs out of the crater and continues on at a more cautious rate of speed.
Now, think back to the story that we just read and create a graph that expresses the roverʼs speed.
SPEEDY EXPRESSIONS GRAPHING ROTATIONS
Explore: Now, you are going to start exploring how your RCX can be used to collect
data. To get started...
Put a rotation sensor back on your rover, plug it into Collect 500
port 1, and then unplug your motors.
Port 1
Open your Mapping Mars file in RoboLab, create a
new program, and name it speedy expressions. This time Rotation
we are going to work in program level 1. Sensor
After the upload screen opens, place your RCX in front of the IR tower and
_____________________________________
_____________________________________
_____________________________________
_____________________________________
_____________________________________
_____________________________________
_____________________________________
_____________________________________
MAPPING MARS
This icon
tells the
rover to Assignment 4
collect data
from the Problem: In addition to driving around and collecting specimens, your
rotation rover must collect numerical data and send it back to NASA. For your first
sensor that data collection assignment, you must write a program, collect data with the
is plugged
rotation sensor, and use that data to map your classroom.
into input 1. The rover will
store the data in the red and
green bin. How to program your rover:
1.Open your project folder and create a new program called Mapping Mars.
2. To program your rover to collect data you need to start the program with a
green light that is followed by an icon that tells the rover what sensor it is
The green going to use to collect data. In this assignment we are going to use the
sign data icon
instructs the rotation sensor . This icon is in the investigator pallet on the functions
rover to start pallet, it has a pencil on it. Once you are in that folder, drag the rotation
taking data sensor icon to your programming pallet and connect it to the green light.
readings
every one 3.Now, add the appropriate modifiers to your icon. Look in the column to
second and to the left to see what modifiers you need.
store that data in the red and
green bin.
4.After that, you need to tell your motors to start .
5.Next, tell the rover to start collecting data . This icon is also in the
In statistics N investigator folder and it needs two modifiers. Again, look to the left if you
means how many do not remember which modifiers to add.
data readings.
This N icon tells the 6.Like any other program, you need to add a wait for icon. This time we
rover to collect 500 want the program to wait for N data points to be collected. The N icon is in
data readings. the wait for pallet and should be connected to the start data logging icon.
7.Finally, you need to add the stop data logging , stop motors, and red
light icons. Do not forget the modifiers!
The stop sign
data icon tells the 8.When you finish, you program should look like this.
rover to stop
collecting data.
11.Once you are in the new screen, place your rover in front of the IR tower and press the to upload your
data. Your data should look something like this.
12.Now it is time for some algebra. If you remember, 1 rotation = 16. What equation do we have to use to make 1
rotation = 1?
13. After you figure this out, select the icon. The screen that opens will have a calculator at the bottom
that looks like this. Enter your equation into this calculator and watch to see how the graph at the top of the
screen changes.
Change the
bucket to match
the color your Enter your
original equationʼs
rotational data. What function do constant here.
you want to
apply to your
rotational data?
Enter it here.
MAPPING MARS CONTINUED
This equation says the value of the blue bucket (the value of my rotation sensor) multiplied by 10 equals the
value of the green bucket.
14.How can you change the next function and constant to make this into equation tell you the distance that the
rover traveled? Think about the discussion we had after assignment two. Write your equation here and then
type it into RoboLab.
15. Use your graph to figure out how far your rover traveled.
http://www.ntsl119.com/LEGOmatics/archives/20081003-LEGOAttendance/index.html
MAPPING MARS CONTINUED
Challenge
Use the information that you learned in the first part of this assignment to write a program that the rover can
use to measure the dimensions of your classroom. Hint: You can measure each distance individually.
In the space below, draw a map of your classroom. Please be sure to use a ruler and label its
dimensions.
Please explain the process that you used to create your map.
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
Background: Sedimentary
LOOKING FOR WATER
Rocks--Sedimentary rocks are Assignment 4
formed at the surface of the
Earth, either in water or on
land. They are layered Exploration: During this exploration you are going to find the mean light
accumulations of sediments: refraction rate for a series of rocks that are found on Mars.
fragments of rocks, minerals,
or animal or plant material. Procedure
Temperatures and pressures 1.Mount a light sensor on your rover so it is no more than .5 cm above the ground.
are low at the Earth's surface,
2.Create a new program file in your project folder that is called “Rocks.”
and sedimentary rocks show
this fact by their appearance 3.Using your rotation sensor program as a model, create a new program that will
and the minerals they contain. collect light data only. You rover does not have to move. The rover should collect
Most sedimentary rocks 50 samples at a sample rate of .5 seconds.
become cemented together 4.Upload your program and move your rover slowly over one rock layer.
by minerals and chemicals or
5.Download the data.
are held together by electrical
attraction; some, however,
remain loose and 6.To find the mean light value of the layer. Goto the compare screen , find
unconsolidated. The layers are the pull down menu at the top of the screen that says compare and change it to
normally parallel or nearly measure, select the data set that you want to analyze, and finally change the
parallel to the Earth's surface; if
they are at high angles to the
surface or are twisted or to the mean icon.
broken, some kind of Earth 7.Enter the mean for each rock type in the chart below.
movement has occurred since
the rock was formed.
Sedimentary rocks are
forming around us all the time.
Sand and gravel on beaches
or in river bars look like the Please record the light values for each of the different rock types in
the following chart.
sandstone and conglomerate
they will become. Compacted
and dried mud flats harden Rock Type Average Light Reading
into shale. Scuba divers who
have seen mud and shells
settling on the floors of
lagoons find it easy to
understand how sedimentary
rocks form.
Problem: If humans are going to colonize Mars, they need to find a reliable and renewable water source.
One way to discover if there is or ever was water on Mars is to look for sedimentary rocks. In this assignment,
you will create a rover that will use its light and rotation sensors to find sedimentary rocks and map where they
are located.
Requirements: Add a light sensor to your rover. The light sensor must be securely fastened to your rover
and located approximately 1 cm off of the ground.
Procedure:
1.Create a new program file in your project folder that is called “Looking For Water.”
2.Using your rotation sensor program as a model, create a new program that collects both rotation and light
data at the same time. To do this you need to...
Initialize both sensors and use different data bins for each sensor.
Start and stop each sensor. You can do this by stringing the modifiers together.
3.Now you are ready to start collecting data. Run your robot on one of the Martian surfaces, upload the data,
and use it to answer the following questions. HINT: You might want to use the calculator feature to
change your rotation data from a 1:16 to a 1:1 correspondence.
Please list the order of the rock layers and explain how you found this information.
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
How far away from base was each rock layer? How did you discover this information?
Challenge: When scientists use robots and other tools to collect data remotely, they often do not have the
benefit of seeing the place where the data is collected. All they know about the world that they are exploring is
the data that they are receiving. To simulate this, give your rover to your partner and have them run it on the
remote Martian surfaced (it is located in the hallway). After they return, please upload the data, print the
graph, staple it to this page, and analyze the data.
Use the following space to map the area of Mars that your rover traveled over. Please make sure
that you label the distances from base to each rock layer.