Thursday, August 5, 2010

PROGRAMMING ROBOTS

PROGRAMMING ROBOTS

Useful robot algorithms in both pseudocode and source code. Because programming is a very huge subject and there are billions of books and tutorials on how to program already written, all I plan to cover is specifically what is important to programming robots not mentioned in common literature.

Bootloader Tutorial for $50 Robot Bootloader, Step-by-Step
A bootloader is a program used to upload .hex files to your microcontroller without a hardware programmer. Learn how to set up a bootloader for any AVR microcontroller. This will also work for the $50 Robot.
Computer Vision Tutorial Computer Vision Tutorial
A four part tutorial series that covers vision in biology, image processing, and most vision algorithms.
Data Logging Tutorial Data Logging Tutorial
How to use a microcontroller and Hyperterminal for data logging, algorithm debugging, and sensor testing.
Differential Drive Tutorial Differential Drive Tutorial
Learn about the most basic of robot control drive structures.
Fuzzy Logic Tutorial Fuzzy Logic Tutorial
Learn how to implement fuzzy logic into your robots.
Line Following Algorithms Line Following Algorithms
Basic robot line following algorithms.
Microcontroller Cycles Microcontroller Cycles
Learn how to do timing on microcontrollers without using a hardware timer.
PID Control Tutorial PID Control Tutorial
Implement PID control feedback into your robot feedback control.
Photoresistor Algorithms - Photovore, Photophobe Photoresistor Algorithms - Photovore, Photophobe
Learn how how a robot can chase or avoid light.
Printf() Function Printf() Function
Learn more about the C printf() function for microcontrollers. Good reference sheet for printf().
Robot Simulation Tutorial Robot Simulation Tutorial
Learn how and why to simulate your robots.
Timers for Microcontrollers Timers for Microcontrollers
Sample code for setting up and programming timers for microcontrollers.
Trigonometry Lookup Table Trigonometry Lookup Table
Required if you need real-time trigonometry calculations but have a slow processor (such as for omni-wheel robots).
Microcontroller UART Tutorial UART Tutorial for Microcontrollers
Learn how you can use a microcontroller to transmit useful data by USB, serial, and wireless using the UART.
Microcontroller UART Tutorial UART Tutorial Step-by-Step
An addition to the UART tutorial, giving you practical step-by-step instructions on how to add UART functionality for any AVR based robot - including your $50 Robot.
Variables in C Variables in C
Learn tricks about programming variables in C. Good reference chart for variable types.
Wavefront Pathfinding Wavefront Pathfinding
One of the more basic algorithms for robot pathfinding. Includes additional adaptive mapping features.
WebbotLib WebbotLib
The best AVR Library you'll ever see. Completely and fully documented, large community of users, great support, and entirely free. It has drivers for almost all common robotics hardware/sensors on the market, and is fully compatible with the Axon microcontrollers.
Member Tutorials
PWM - an Overview - introduction to coding PWM (and code for AVRs)
C Code Optimization - learn advanced code optimization techniques
I2C, a 101 - learn how to use I2C