Denver University's Rocky Mountain Talent Search Robotics Summer 2003


What this course is about.

Welcome to DU's RMTS for 2003 robotics class. This is the second section, in the morning, three week course with instructor Dennis Clark. This year we're going to build a fully programmable autonomous (means independent thinking) robot, and along the way we'll learn something about physics, electronics, mechanics, analytical thinking and programming. You will be using hand tools, a laptop computer, a soldering iron and your minds to create a robot that will handle a specific task - You'll be choosing that task from three that I have chosen specifically for this class, and if you look here before coming to class, you'll find out early what they are!

Congratulations on finishing the class!

By now you've all finished the class, gotten your grade and taken your robot home for further experimentation. I hope that you all had a good time in the class and that you've learned something that you want to continue to study for a long time to come. Also, as promised, I've placed the robot programs that you used in labs here on this web page, you can download each one individually, or, if you're having problems getting a good file that way, get them all in this zip file. For those interested in getting more of these robots, stay tuned to this page for more information on when I'll be bringing them out as a product!

bumplab.bas has the simulated bumper behavior in it.

bumpngo.bas is the standard object avoider.

calirpd.bas moves the motors to the degree that it seems something in the IRPD.

calservo.bas is used to center your servos.

digilabs.bas has code in it for the switch/LED labs we did.

folline.bas is the basic line follower program.

lab718a.bas handles the digital IC labs we did.

minisumo.bas is just what you think that it is.

testline.bas is the line sensor calibration/testing program.

Meet the class of 2003.

Here is the class of 2003, click on the photo below to get a better resolution one.

Meet MAC, the robot.

MAC stands for Micro AVR Computer robot. This robot is an Atmel AVR 90S2313 16 bit computer with 2K of programming space and 128 bytes of RAM. The board is designed with connections for three IR line following sensors, a front looking IR proximity detector and drives two hacked RC hobby servos as its motors. We will program it using BASIC with BASCOM/AVR as the compiler. This compiler uses a flavor of Basic that all of you should find simple to use, but powerful enough for our robotics programs.

Here is a picture of Mac, the first one built - Class robots will look similar to, but exactly the same as this one.

The schematic for MAC is shown below, for those of you interested in electronics and embedded processors.


Class Syllabus

Here is what I'm planning to teach, in no particular order. Some subjects may be mixed together for the sake of clarity, and to avoid confusion or just to save time. Don't worry, it's a lot of stuff, but it's also a lot of fun with projects and labs to keep you from falling asleep during the lecture time.

Robotics Class Course Outline (3 weeks, 1hr/day lecture, 2hr/day labs)

Physics (3 days)

Gravity and Force

Friction: Static and dynamic

DC Motors: Torque, Current, Speed, Gearing, Power

Optics: Light spectrum, reflection/absorption, IR, Solar and visible light

Analog DC Electronics (3 days)

Kirchoffıs law, Ohmıs law, Power laws

Resistors, capacitors Diodes, LEDıs

Transistors (BJT and FET)

Digital Electronics (2 days)

Digital values, logic levels (TTL and CMOS)

Device drive, fanout, loading Speed, latency, timing

Logic gates: AND, OR, NOT, FFıs, Latches, Buffers

Microprocessors (1 day) Architecture: Harvard vs. Von Neuman


Binary math, 2ıs complement signed math

Serial vs. parallel data, RS232, baud rate, formatting

Programming (3 days)

Decimal and Hexadecimal notation

Control flow, decision making Subroutines, functions

Thinking logically Procedural vs. object oriented programming

Event-based programming Behavioral programming

Robotics Specifics (2 days)

Hobby servos, control signals

DC motors, PWM

IRPD, IR sensors Analog to Digital

Feedback and Range-Finding


The rest of the course.

This page will contain more information as we get closer to class time, and during the class. Program code listings, help and hints will be found here as questions come in and I see what everyone needs more help with. Be prepared to think and have fun!

Oh yeah, the robot tasks! OK, I'll tell you the three you have to choose from: