The Vorpal Mimsy robot comes preloaded with sample programs so you can use it immediately. This guide shows you how to use the software to run different experiments.
You are not limited to these sample programs. You can also write your own software to control Mimsy Mini if you know how to program in the C language, using the free Arduino development environment. More information about that is in the Vorpal Mimsy Mini Programming Guide.
Turning Mimsy Mini On Edit
When you first turn on your Mimsy Mini, you will see a start up message that looks like this:
Vorpal Robotics Mimsy V1.1c
Note that the version number near the end might be different if you have a later version of the software. This guide will still be useful in that case, but you may want to download the latest documentation just to be sure everything matches exactly.
If you do not see the start up message within a few seconds after turning Mimsy Mini on, you may have a dead battery or other issue. Turn it off then back on again and observe the green LED light on top of the robot. If you have power it should blink 3 times, then turn on steady green. If that happens and yet you do not see any words on the LCD character display, there may be a technical problem with how the LCD is connected. See the Vorpal Mimsy Mini Build Instructions for more details.
After the start up message, the current battery level will be displayed. It is important to run with a reasonable charge level on the batteries. If the batteries get too low, the programs will start acting strangely and Mimsy might even reboot itself because voltage is dropping too low to keep her brain functioning! But don’t worry, replacing the batteries (or recharging them if they are recharageable) will get things working again.
Some notes on battery charge:
- If you are using disposable AA batteries, a start up voltage reading under about 7.7 is starting to get low. At 7.5 you’ll most likely start having problems will programs that use motors.
- If you are using rechargeable batteries such as NIMH or NiCAD batteries, a start up voltage reading under about 7.3 means you’re starting to get too low.
If everything looks good, continue to the next section!
Using the ButtonsEdit
There are two buttons located on top of the robot. One is green and is labeled "+" and the other is red and labeled "-".
Generally, the green/+ button is used to select programs to run, while the red/- button is used to move on to another selection. When a program is running, red/- will stop the program. The green/+ button may pause a running program or perform other actions.
On each screen, the second line of the LCD display will clearly indicate to you what each button will do.
There are four different categories of program:
- Settings: programs that let you set up different options on Mimsy.
- Tests: programs that allow you to test sensors or motors.
- Autonomous: programs that make Mimsy take actions all by itself, with no human control required.
- Teleoperated: programs that allow you to control Mimsy, for example by using the Vorpal Commander Android App .
In the menu system, categories start with a slash, like this:
/Settings +:View -:Skip
To select the current category and view the programs it contains, press the green/+ button, and to skip it and move on to the next category press the red/- button.
Because there are only two buttons, if you click too fast you might pass up the category you want. Just keep clicking and you'll come around to the right one pretty fast, there are only a few!
Settings Category Edit
1 Motor Test +=Run -=Next
This means that program number 1 is named “Motor Test” and that pressing the + button (green) will run it. Pressing the – button (red) will display the next program you can run (which is Line Sensor Test).
Pressing and immediately releasing the red button will bring you to the next program, pressing and holding the red button will rapidly advance through the menu of programs.
If you keep cycling through the programs, you eventually get back to the first one again, Motor Test.
Each program has different behaviors and different features. The following sections explains how each one works and suggests experiments you can do with the programs.
The motor test allows you to make sure the driver motors on the robot are properly connected and functioning. Click the + button (green) to run Motor Test.
After clicking, the screen will display:
A: Motor Test +=Start -=Cancel
Clicking the + (green) button will start the motor test and clicking – (red) will go back to the selection menu.
Before starting the program you might want to put Mimsy on a book or other item to keep the wheels off the floor, or have one student hold it in the air. Starting the program will run the left side wheels and display:
Testing Left +=Right -=Cancel
To test the right side wheels, simply click on the + (green) button. The display will change, allowing you to switch back to the left wheels if desired. When you are satisfied things are working as expected, click on – (red) to go back to the selection menu.
Note: When the right side wheels are running, the grip arm (if installed) will go to its highest position and the grip claw will be fully opened. When the left side wheels are running, the grip arm will go to its lowest position and the grip claw will be fully closed. This allows you to make sure the grip arm and claw are functioning and properly adjusted.
Light Sensor TestEdit
Assuming you selected + for VIEW in the Sensor Tests menu item you will come to the Light Sensor Test program. This allows you to see readings off the ambient light sensor on top of Mimsy.
Running the program shows something like this:
Light=190/200 +=Set -=Cancel
This means that the light sensor on top of Mimsy is currently reading 190. When you run this program, it will display some number between 0 and 1023. Values near 0 are very dark, values near 1023 are very bright. Normal room lighting might be between 200 and 500 depending on many factors.
The number after the slash (in this example 200) is the threshold value that will be used by rover programs such as Dark Seeker and Light Seeker.
You can change this threshold value by clicking on + (green) for SET. Whatever value is displayed after the = sign (in this example 190) will become the new threshold value for this sensor. This will be the threshold even after powering Mimsy off and back on again, it is saved in nonvolatile EEPROM memory!
Line Sensor TestEdit
The line sensor test allows you to see values on the optical line sensor mounted on the bottom of Mimsy. Running this program shows something like this:
Line=177/200 +=Set -=Cancel
This works very similarly to the Light Sensor Test. The display above says the current reading on the line sensor is 177 and the current threshold value used by rover programs such as Line Tracker or Floor Fence is 200. You can slide light or dark colored paper under the front of the robot to see this value change. If you want to set a new threshold based on the current reading, just click on + (green) for SET. There is a more powerful way to calibrate the line sensor though, see the next section!
Calibrate Line SensorEdit
This program allows you to set values for “light” and “dark”, and will then set the line sensor threshold to the average of these two values.
After starting this program you will see this:
Cal Black: 80 +=Set -=Cancel
When this screen shows, slide a “black” item like a paper marked with a wide black marker, then select + (green) to set the black value. After you do that you will see this:
Cal White: 120 +=Set -=Cancel
Now put a white item under the line sensor, such as white paper or poster board that the robot will run on later. Once you see a light value, click on + (green) to SET the white value.
The program will now show you the newly computed average of these two values:
Threshold: 100 +=Set -=Cancel
If you are happy with the value, click on + (green) to SET the new value. It will be saved in nonvolatile EEPROM memory. If you want to try again, click on – (red) to CANCEL, then run the program again.
Ultrasonic Sensor TestEdit
This program tests the ultrasonic sensor. It works just like the other sensor tests, and if you run it you will see something like this:
Ultrason=120/25 +=Set -=Cancel
Again, the first number is the current reading and the number after the slash is the current threshold value.
The ultrasonic rangefinder sensor bounces sound waves off of objects and times how long the sound waves take to travel back to a detector. The values displayed are in centimeters. There are about 2.5 centimeters to an inch. The sensor works best when it is bouncing sound off hard, flat objects that are straight ahead.
Like the other sensor tests, you can set a new threshold value which will be used by programs like the Ultra Rover. The Ultra Rover will turn around if it gets closer than the threshold to an object.
Sound Sensor TestEdit
The sound sensor is mounted on top of Mimsy. Its sensitivity can be adjusted by using a small Philips screw driver. Turning the adjustment screw all the way counter-clockwise will make the sensor sensitivity maximum, allowing it to “hear” sounds with lower volume, while turning it clockwise makes the sensor less sensitive, requiring louder noises.
Running the program will show you this:
Sound=0/100 +=Set -=Cancel
It will usually show 0 as the first number unless you clap your hands near it, or speak loudly, or tap it gently with your finger. Then you will see the first number go up.
The number after the equals sign is a count of how many “high pressure” sound waves hit the sensor over a 10 millisecond period of time. (10 milliseconds is only one hundredth of a second). Sound is made up of higher and lower air pressure pulses, so this sensor counts the number of pulses that occur over a short period of time. The white screw on the sound sensor can be used to adjust what is considered to be a “high” pulse.
As usual, the number after the slash is the current threshold used by programs such as Sound Rover.
You might also want to experiment with turning the white screw on top to adjust sensitivity. A light on the sensor will glow when it “hears” sound above the threshold set by the screw. You want to adjust the screw so that ambient sounds (like fan noise from an air conditioner or other background sounds) do not trigger it, but clapping or talking near Mimsy cause the light to flicker.
"Autonomous" means the robot drives itself with no human controlling it. Autonomous programs often use sensors to help guide the robot. The programs in this category illustrate how a robot can use sensors to accomplish some interesting tasks.
The Autonomous Programs: Summary Edit
The table lists the autonomous category programs and a brief description what they do, more details follow in this document.
|Line Follow||This basic line follower will try to stay on a dark line on the floor.|
|Random Rover||This simple program moves completely at random, using no sensors.|
|Sound Rover||This is like random rover, but sometimes it stops. A loud noise will make it start up again.|
|Dark Seeker||This program moves randomly, but uses the ambient light sensor to determine when to stop. It tries to stop in dark places.|
|Light Seeker||Similar to dark seeker, but stops when it finds a bright area.|
|Floor Fence||This uses the line sensor on the bottom of the robot to try to keep the robot inside a virtual “Fence” made of dark lines drawn on a light surface.|
|Ultra Rover||Uses the ultrasonic rangefinder sensor to avoid obstacles without touching them. If an object is detected ahead, it will back up and turn.|
|Multi Rover||Multi Rover uses all the sensors to exhibit behaviors and avoid obstacles. For example, it will try to follow lines on the floor if it detects them, if not then it will use the ultrasonic rangefinder to avoid crashing into things, plus it will try to seek light and stop in bright places. But if it stops in a bright place, a loud noise will ‘frighten’ Mimsy and she’ll start moving again!|