User Tools

Site Tools


a_robot_story

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

a_robot_story [2012/03/18 00:54] (current)
Line 1: Line 1:
 +===== INTRODUCTION =====
  
 +This is actually a tutorial about building a robot from scratch. This tutorial is for school students of age 13 to 15 years old. They will build a robot with very easily available materials, dc motors, arduino (or other simple microcontroller circuit). ​
 +
 +By building this robot, students will get an overview about
 +  * Basic Mechanics
 +  * Basic electronics skills
 +  * Basic computer programming(python)
 +  * Craft work
 +  * And lot of other cool ideas
 +
 +This is not an ordinary robot project. Students will build the robot mechanics, do electrical wiring or even soldering, build some basic electronic sensors, do some craft work on the robot etc. By this way he gets introduced to mechanics, electronics,​ craft, computer programming etc.
 +
 +There are similar robot projects in the Internet (eg: RoboBrrd). Those projects use servo motors, standard sensors(like accelerometers) etc. These are really costly in India and it is really hard for an Indian student to buy this components. Its hard to find servo motors, accelerometers,​ local PCB manufacturers near by. There are on-line sources. But they are costly. But this robot tutorial is written for Indian students. Thats why I have used basic DC motors instead of servo motors. I will design the robot electronics based on Arduino(is costly) or basic ATMega8 microcontrollers. But ATMega8 microcontrollers are easier to get in local electronics stores.
 +
 +Initially I will be building a robot that looks like a bird. Design can be later changed if better idea is found.
 +
 +===== Motivation story =====
 +
 +Long back(5 or 6 years before writing this tutorial on 18/​02/​2012),​ I had seen the PyNeko project. It was a simple cat game(written in python) to teach python programming for school students. It was a pure computer software project. Seeing that project, I got inspired of making a 4 wheeled robot which can be controlled via PC. So like the PyNeko, through the python console, instead of controlling the cat, a robot car will be controlled.
 +
 +I felt this would be a very good idea. Students can see a robot moving in the real world instead of an image moving in the screen. Also I found that kids are more found of robot. But after some one year before, I found a robot called as finchrobot. Finchrobot was similar to the robot idea which I had. Finchrobot was wired instead of wireless. but I didn't like the finch robot. It is wired. So when it moves, a big lengthy wire is needed and the lengthy wire will be a mess over the used area. The finchrobot was costly. So it wont fit for Indian students.
 +
 +I found my project GNUduino being used in a project called as robobrrd. It was a simple robot which can be controlled using computer. This made me to build a similar robot and control the robot using the similar interface of PyNeko. There started my robot story. So I planned to make a similar robot like bird from RoboBrrd.
 +
 +After thinking a lot about the project, I made the following points
 +  * The robot should be easy to make
 +  * Cheap
 +  * Kid should build the complete robot
 +  * Simple wiring and even soldering for the robot has to be done by the kid
 +  * Kids program the robot
 +
 +===== Working principle =====
 +
 +Initially the kid builds the robot which includes building ​ the body  frame, building of beak and wing mechanism, placement of motors, connection of control( microcontroller ) circuit and some craft work to make the robot look good.
 +
 +The robot is interfaced to the PC using USB port. Using the python program, kids can control the robot. Even using Arduino IDE or through python program, the robot can be flashed completely for independent use without PC.
 +
 +===== Constructing the robot =====
 +to Be done!
 +
 +===== Points to take care =====
 +
 +  * Kids should build the robot from scratch.
 +  * use easily available components - ice cream sticks (for body construction),​ clothes or paper for covering the robot, leds, dc motors.
 +  * Students might need an adult support for building the robot since soldering the components, flashing the micorocontroller(if needed) has to be done.
 +  * Use a simple language for programming the robot eg: python
 +  * Try to find a way to flash the microcontroller using python(so the written code in console can be directly flashed) or flashing possible using Arduino GUI
 +  * Make the robot Arduino compatible
 +  * Kids should make the sensors eg: basic tilt or acceleration sensor
 +  * Programming assignments:​ If you shake the robot, the robot should cry, flap its wings etc. Or if light hits on the LED (LED as light sensor), do some operation.
 +  * Give an option to run the robot on battery so if the program is flashed, it can run independently
 +  * use LED's as light sensors
 +  * Robot does(if it is a bird) - light sensing, cries, flap wings, tilt sensing, open/close beak, robot turns left or right (turns based on light sensing)
 +  * speakers as microphone ? complex since an amplifying circuit is needed but can be used for clap detection
 +  * Add scratch support
 +  * Make the robot also serial compatible so in future, the robot can be controlled via xbee if needed
 +  * a complete web page tutorial for robot building, python tutorial, circuit design, flashing microcontroller
 +  * make a h bridge with transistors
 +  * design single layer pcb for this using gEDA
 +  * also for basic microcontroller circuit, give a tutorial with pcb layout or explain hoe to solder in ordinary PCB
 +  * 
 +
 +===== References =====
 +  * RoboBrrd - a similar robot toy
 +  * PyNeko - the cat game to teach python programming
 +  * FinchRobot - a robot which can be controlled using almost all programming languages
 +  * aravind gupta toys - some toys for kids to teach mechanics.
 +  * arduino - an open hardware based micrcontroller prototyping board.
 +  * metaboard
 +  * http://​www.engineersgarage.com/​electronic-circuits/​h-bridge-motor-control
 +  * www.kei.co.nz/​A000211%20Motor%20Control.PDF
 +  * http://​code.rancidbacon.com/​ProjectLogArduinoUSB
 +  * http://​dicks.home.xs4all.nl/​avr/​usbtiny/​
 +  * http://​www.usbmadesimple.co.uk/​ums_4.htm
 +  * http://​www.frank-zhao.com/​usnoobie/​index.php
 +  * http://​arduino.cc/​playground/​Interfacing/​Python
 +  * http://​www.recursion.jp/​avrcdc/​cdc-io.html#​usage
 +  * http://​spiffie.org/​kits/​usb7/​driver_linux.shtml
 +  * http://​www.frank-zhao.com/​usnoobie/​index.php
 +  * http://​codeandlife.com/​2012/​01/​22/​avr-attiny-usb-tutorial-part-1/​
 +  * www.atmel.com/​Images/​doc7619.pdf
 +  * http://​www.beyondlogic.org/​usbnutshell/​usb1.shtml
 +  * http://​www.youtube.com/​watch?​v=Kz4mYIEqmT8
 +  * http://​www.robives.com/​mechs
 +  * http://​chalmersphyscomp09.wordpress.com/​category/​paperbots/​
 +  * http://​www.dossierstudio.com/​portfolio/​righteous-burn/​
 +  * http://​www.oomlout.co.uk/​ - breadboard paper
 +  * http://​arduino.cc/​playground/​Learning/​LEDSensor
 +  * http://​www.geocities.jp/​arduino_diecimila/​obaka/​project-5/​index_en.html - small arduino
a_robot_story.txt ยท Last modified: 2012/03/18 00:54 (external edit)