About botdream project:
Botdream project started has an idea of building a robot for home security/surveillance. The main thought was to have access to the robot from the Internet, in a secure way, and remotely control the robot to explore the surrounding environment with support to live video stream of the remote place. While making scratches of what functionalities the robot should include, new ideas appeared and are constantly popping up in my uneasy brain.
Since this is my first complete robot project I didn’t quite managed to make a detailed plan for this robot. Only draw a few guide lines. Also I have no fixed budget available. Most of the parts were donated by friends and family, others i found on some old boxes with parts from PCs.
Robot initial requirements are:
- must have access to the Internet by using wireless network communication (802.11 b/g) in order to be remotely controlled and also to stream video from remote environment.
- must have mobility (no wires connected - Requires power supply to be loaded inside the robot).
- must be able to move on and indoor environment.
- should be prepared in future to act by itself and perform automatic routines/processes.
- must be prepared to receive new sensor modules at any time.
- The brain of the robot is an old PC powered by Intel Celeron working at 633MHz, with 256MB of Ram and a 20GB IDE Hard-Drive (ATA100). Motherboard includes 2 PS2 ports (mouse and keyboard), 2 USB ports, 1 Parallel port, 1 RS232 Serial port, embedded VGA in chip-set, VGA output via RGB connection, Joystick port, Mic and Line-in inputs, Speaker Output.
[I’ve decided to use a PC mainly because of the web-cam video stream. Initially i was thinking on using a Micro-controller RISC, like a Microchip PIC 16F877A, but didn’t seemed to be the easiest way.]
- Small battery from a motorbike with 12VDC 7Ah has the main power supply for the motherboard.
Smaller battery with 6VDC 4.5Ah for the electrical DC motors that will drive the robot.(removed form robot due to over-weight, will drive DC motors from main battery)
- PSU unit to convert 12VDC into ATX power supply required by the mother board.
- 2 electrical DC motors.
- 1 Microchip PIC 16F628A to interface between PC and Sensors/Engines.
- Microsoft Windows 2000. All required software will be custom developed by me using Borland C++ Builder 6.0.
[I had Linux Ubuntu/Debian in mind, but development wise not to comfortable, YET! I’ll get there one day, i hope!]
Necessary steps to assemble the Robot:
- Assemble the motherboard and all necessary parts so that the PC gets ready-to-run. Install O.S. and respective hardware drivers.
- Create the application (using Borland Builder C++ 6.0) that will command the robot. This application will receive commands, from another client app in the same network of the robot, sending them into the PC RS232 Serial port. By the other side, a micro-controller (Microchip PIC 16F628A) that is attached to the Serial port, will receive the commands and convert them into instructions to be sent on a I2C Bus where all other sensors/modules/etc will be listening and waiting for orders.
- Create additional modules/sensors that will be attached to the I2C Bus. Need also to update the application form step 2 to send/receive commands for the new modules.
- Create a way to have remote access to the robot from Internet (using DSL connection) in a secure way.
I2C Modules to be attached to the Robot
- H-Bridge module to control DC motor motion and direction (h-bridge will also need a PWM signal generator and an I2C interface - all provided by one PIC 16F628A).
- Robot internal temperature sensor (will be responsible for internal air circulation - turns on/off small case fans).
- 80 characters LCD I2C interface (will display messages debug regarding I2C sensors).
- Install Wheel Encoder and I2C interface to determine robot motion with precision.
- Install Ultrasonic Rangers mounted on a Servo. Must create interface for both systems. Ultrasonic Rangers will be mounted over the Servo to be used has a Radar.
- Install an I2C Magnetic Compass
- Install an I2C Thermal Array Sensor (attached to the Ultrasonic Rangers Servo).
- Install an I2C acceleration Sensor.
- Create an I2C Battery level sensor (12VDC and 6VDC)
- Install an I2C Vibration sensor.