Assignment 8: Research Project

Choose one of the sensors or actuators on the mBot and write a post describing how it works. What are its features, requirements, and limitations?

  • Ultrasonic Sensor
  • Line Sensor
  • Motor
  • Light Detector
  • LED
  • Buzzer
  • WiFi Module

Give a 5 minute presentation on your research and upload your presentation materials to your blog.

Assignment 7: SumoBot

For the final challenge of class, we will program our mBots to do battle in the SumoBot arena!

Here are the rules and specs:

  1. The arena will be a circle drawn in tape, about 66cm in diameter.
  2. The mBots must have a protective “bumper” in front to prevent damage to the line follower module.
  3. If a bot leaves or is pushed out of the arena (at least one wheel over the line) the opponent wins.
  4. A successful “charge” (robot accelerates and strikes opponent) scores 1 point.
  5. Rounds last 60 seconds or until ring out. A robot that moves after the round loses a point.
  6. In lieu of a ring-out, the robot with the most points wins.
  7. The winner of the previous obstacle course challenge receives a buy in the first round.

Reading 3: The Mechanical Turk

The Mechanical Turk was a chess playing curio of the 1700s. This automaton could beat the greatest chess players of the courts of Europe, exhibiting astonishingly lifelike behavior. At the time, none could discover its secret…a little person hiding inside the contraption, operating the controls.

Thus the Mechanical Turk was an early example of “artificial-artificial intelligence.”

Enter Amazon’s Mechanical Turk service of today. This allows users to submit a task which can be performed by a human with relative ease but which still challenges AI, such as image or affect classification. Tens, hundreds, or thousands of workers perform this task in parallel, thus returning the results very quickly to the user.

How does Amazon’s mechanical turk parallel the original? How does this story inform our understanding of AI today?

Assignment 6: LineBot

In which we use the various sensors of our mBot to navigate a deviously challenging obstacle course.

The main sensor we rely on is the downward-facing line sensor. This allows us to detect a black mark on the ground, and since there are two sensors built in to the mBot, we can tell whether we are to the left or right of center, centered on the line, or off the line entirely.

We first brainstormed features of the obstacle course on the whiteboard…zig zags, right angle turns, curves, a bridge, a pillar, and walls. At times, the line disappears, and we must rely on other sensors (like the ultrasonic proximity sensor and the ambient light sensor) to navigate.

mbot maze.jpg

Programmed in mBlock (a version of Scratch for mBots), the robots needed a strategy robust and flexible enough to navigate each of the obstacles without human input. At the end of the course, they must detect the finish line and play a victory song.

The robot to complete the course in the shortest time wins!

Reading 2: Pygmalion

Read this ancient Greek myth about the sculptor who loved his statue so much, the gods gave it life.

What would it mean if a robot became “alive?”

Is it possible to love a robot?

Is it possible to be loved by a robot?

In Ovid’s Metamophoses, page 496.

 

Assignment 5: Ravebot 3.0

And now…we dance!

For your third iteration of Ravebot, let’s make it dance.

The ravebot should be able to move around in an enclosed environment, avoiding other bots and walls. If it gets too close, it should do a little wiggle dance and/or spin move, then turn around and move to another location.

Assignment 4: Ravebot 2.0

What’s a rave without music?

Let’s add some deep cuts.

To start, check out the chapter in A Gentle Intro… entitled “Play an Octave.” Once you’ve got that working, try to compose a song using that will play on the onboard buzzer (speaker). It can be a song of your own or you can try to reproduce an existing song.

Paul’s robot plays the Super Mario Theme:

Reading 1: Where Am I?

Where Am I is a thought experiment written by philosopher and cognitive scientist Daniel Dennet. It explores the notion of the self and where it resides…is it in the brain or the body? Both? Neither?

This reading is meant as an open question as to the nature of consciousness, one that will become more and more relevant as the complexity of our machines approach the refinement of the human mind.

Bonus media: Bladerunner Turing Test

Assignment 3: Ravebot

At long last we have unboxed the mBots. In order to verify correct installation of the mBlock IDE and arduino drivers, and to get practice programming in scratch and uploading code, we attempt to control the mCore board’s onboard LEDs to create a smoothly flashing, colorful display, thus lending a party-like atmosphere to the classroom.

Disclaimer: This is more of a fancy lightbulb than a robot per-se (there is no autonomous decision-making.)

Disclaimer: This will be more fun rave once we add sound and movement… 🙂

//ravebot pseudocode

//learning objective: learn about variables, control loops, and get used to uploading code to the mBot.

//goal: to create a light show, with the two onboard LEDs independently shifting through the color spectrum. The lights should change smoothly, without strobing.

//plan: each color should go up until 255, then go down until 0, then go up…etc.
//need to set each color to a different value initially

//initialize
-variables for each color, RGB, different
-variables for each colors’ direction (dir1, dir2, dir3)

//loop
-check the values of each color, and if the value is 255, change the direction of that color to -1, if it’s 0, change the direction to 1.
-change the value of the color by its direction
-set the left led color
-set the right led color
//end loop

Blog at WordPress.com.

Up ↑