all of the following is *opinion*
There are two types of robots, small toys and medium to large experiment platforms.
Are you going to go for a small AA battery powered, microcontroller based rover? RC car chassis with a micro? I find these of little practical use except to program, and being so small, they usually lack the type of sensors I want to program.
I think it would be best to have a medium sized platform, with a large area for 12V ?motorcycle? battery. Balanced with battery weight very low to the ground.
2 driven wheels, caster on front and back. Caster wheels need to be large to get over bumps and through thick carpet. Driven wheels are centered on robot, so when spinning the front and rear of robot are equidistant from center of spin.
Encoders on wheels/drive motors.
At least one sonar sensor on a servo. I think the cheapest way to get this done would be to get SRF-04 and program a PIC to talk to it. Have PIC talk I2c to the micro. Include (in PIC) code to turn turn the servo with PWM.
cheap IR detectors (3 on front,
3 on rear, 2 on each side) so it doesn't have to bump a wall to know it's there.
microswitch bumpers at each IR detectors, in case they fail to detect object. ^ ^ ^ | | |
| | | V V V
In my opinion, there are already enough line followers/programmable turtles out there. If you design a new robot, it needs to be autonomous.
PID? on motors. Can this be done with a PIC?
Keep everything hackable and expandable. Perhaps offer an "upgrade" that is brackets/ plastic casing, to make the robot look nice.
BASIC would be great for people to learn how to program...
Micro should have some RAM and storage device.
option of wireless link to PC, so you can do remote control, view sensor/motor status, program the micro from the PC.
cheap low resolution camera for vision. Line detection, object recognition, docking with charger.
software! If working with a wireless link to the PC, use MS or other speech recogn. program to allow voice control of the robot. Autonomous mapping without needing PC.
A website where you can share code. Download a ZIP file, unzip and send to the robot. Include "personality" updates, sensor updates, mapping program updates, etc.