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!
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.
Here is the class of 2003, click on the photo below to get a better resolution one.
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.
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
Memory: RAM, ROM, EPROM, EEPROM, FLASH
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
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: