These are components needed in this project:
1 . 2 Mdf base (scematic in pdf);
2. Plastic Wheel (Caster Wheel ) and Caster's engine;
3. Lithium Battery 11 V or higher;
4. Qualcomm Dragonboard;
7.IMU sensors (accelerometer,magnetometer,gyroscope).
Step 1: Building Up the Base
Starting this step you have to construct the alfred"s base using the base schema and cutting with an laser cutter .After that, cut the engine's support. Than you fit the wheels in their engines and , using the supports, you will fit them in base.This step should finish like picture 1( just ignore circuit).
Step 2: Building Up the Circuit
This step is just set up the circuit according diagram above.
Step 3: Finishing First and Buld Up Second Floor
This step you need to fix the batery and your protoboard (or your PCB). We glued both battery and pcb in base.
After that use 4 plastic collum's to fix second base above the main base. Than, fix the dragonboard in first floor's base. Alfred looks like picture 1 in the end of this step.(Sensors are fix in next step).
Note: We did not use protoboard, instead we construct the circuit in picture 4.
Step 4: Sensors Placment
Now is time to place sensors in Alfred's body. First we start placing the IMU sensor, you can fix it above or under the second floor base . Than you have to fix 2 Ulltrasonic sensores, one in the front and other in right side of robot.
Finally ,place camera above the second floor base.
Alfred should look like picture 1 after this step.
Step 5: Sensors Drivers
For this project we use 3 main sensors: Ultrassonic Sensor (), USB Camera, IMU sensors.
To controll all these sensors we decide to use Atmega Arm as an Arduino, all drivers to recive sensors data are based on Arduino drivers already known. Their are based on C, only Camera code is based on pyton.We used V4L2 driver for camera .
Step 6: Serial Communication Between Mezannine's Atmega and Dragonboard
We used serial communication between Mezzanine and Dragonboard to transfer distance, and orientation from sensors witch are connected to mezzanine's atmega for dragonboard and to transfer commands from Dragonboard to mezzanine.
The code used to communication is based on pyton and you can see it in this step (see above).
Step 7: Android Application
This is our android App witch sets up Alfred's destiny. Picture 4 and 5 represensts a map of the first room that Alfred was tested. The application offers to user some local options to guilde him.
You can see the all the aplication code in that zip above.
Step 8: Motor Driver
Os motores usados no Alfred são controlados pelo mezzanine e usam o drive desenvolvido pela equipe , que usa a saida pwm do atmega . Esse programa foi desenvolvido como se fosse para um Arduíno.
The engines used in Alfred are controlled by mezzane and use one especific drive developed by Alfred's team. This drive uses PWM from Atmega, controlling the engines like an Arduíno. See the code Above.