Spring 2016 AdBot Final Project Documentation

AdBot Final Robot 2

AdBot is a robot that can drives around campus in place of a person passing out flyers.

Dang Le (Project Manager, Electronics and Control)
Don Tran (Mission, Systems, and Test)
Muhammad Siddiqui (Manufacturing and Design)

Table of Contents

Executive Summary

Program Objective
The project objective is to build a rover that will simulate a flyer distributor advertising CSULB’s Eta Kappa Nu social, guest speaker, and technical events on campus. Using a single power source the rover will launch from, and return to, an HKN advertisement booth and run in a general high foot-traffic area on campus which consists of flat areas, sloping areas, and stair ways, as shown in the course map. The rover will be controlled remotely using a computer with internet connection. Negotiations of budget resulted in the rover to cost less than or equal to $250. There is to be expected 0 to 16 mph wind during the course run on May 13th (Reported in Weather Report) [1].

Mission Profile
The perimeter of the grass is 275 ft / 84 m. The north and south sides are leveled. The east side has 9 steps. The west end is a ramp.

Figure 1 Test Course

Figure 1 Test Course

Level 1 Customer Requirements
1.1 AdBot shall travel at 4.55 ft/s at the pace of an individual delivering flyers.
1.2 AdBot shall follow CSULB Regulations for Activities and Advertising.
1.3 AdBot shall launch from the HKN booth and return.
1.4 AdBot shall operating with one power source.
1.5 AdBot shall be controlled remotely through Arxterra Control Panel.
1.6 AdBot shall go up nine steps of a staircase.
1.7 The budget shall be $250
1.8 AdBot shall protect its hardware from weather conditions on the day of the final.

Level 2 Requirements
1.1 AdBot shall turn at 84 rpm.
1.2 AdBot’s sign holder shall be within 3 ft.
1.3 The course shall be completed in 8 min.
1.4 AdBot’s current draw shall require 1000 mAh.
1.5 The Arxterra app can connect via bluetooth within 3 ft.
1.6 AdBot shall provide 25 kg-cm torque to straighten out.
1.6 The sign shall be 5.3 in. from the back of the chassis.
1.6 AdBot shall not bend at the motors or servos due to weight.

Design Solutions
Tracks instead of wheels make AdBot look military. They can drive over obstacles on the ground without getting stuck.

Prototyping

For the PDR, the chassis was built out of wood and 3D printed wheels. The 3D printed tracks had more tension in hopes that they do not fall off. The wheels had longer treads. AdBot was powered by battery. It moved with differential drive control and could drive forward, backwards, and turn. The tracks shifted on the wheels. The servos moved using an unsigned byte, slider from 0-90, custom command in Arxterra.

For the CDR, the chassis was built out of 6061 aluminum. The wheels were reprinted and prevent the tracks from undoing. The left side tracks moved together; the same goes for the right side.The motors were switched to higher torque ones and changed from 6 V to 12 V. Without a battery yet, AdBot was powered with a AC to DC wall adapter and wire. The geared motor to lift the arms was not finished.

Prototype

Motor Driver Trade-Off Study
The Arduino pins supply less than 0.040 A. The solution to drive motors is to find motor drivers. The trade-off study is in this link here.

Motor Trade-Off Study and Torque Test
DC motors are commercially available and offer choices. The motors have gears that changes thousands of rpm into hundreds. The motors of interest offer more torque force with decreasing speeds. Several motors are purchased and tested as stores do not claim the torque information or stall current. This link link has information.

Experiments
AdBot was taken to lab equipment to measure the motor specifications. Free multimeters have a 0.020 A limit. The torque test apparatus was used on motors. 1K, 5K, 10K, and 20K potentiometers could not stall the motors. The motor shafts were held onto a bearing by a screw and the bearing was attached to a wheel. This was done in order to provide grip to cause stalling. More information is here .

Subsystem Design

PCB Design
The custom PCB is a shield that fits on top of the Arduino Uno. It contains motor drivers to supply current to five motors. It features an HC-06 bluetooth module. The layout and schematic are in these links here and here. We made a through-hole PCB, but had to remake it into surface mounted.

AdBot Final PCB

AdBot Schematic

Arduino Software Code Design
The firmware folder has many files containing multiple functions. The commandDecoder receives information from the Arxterra app in the form of a command packet and authenticates it. It will then pass the data packet to commandHandler to distinguish out if this is a move operation or camera-related operation and whatnot. The Arduino code then passes the packet to a function that will work on it. move_TB6612FNG() receives a packet for driving. The code is in this link here.

Software Block Diagram

Software Block Diagram

Interface Matrix Definitions and System Block Diagram
A system block diagram and interface matrix are available so that this project can be replicated. They show the components that are used and wire connections. AdBot’s interface matrix begins displaying all the Arduino Uno’s pins and names. Components are placed in columns. When an Arduino pin is not vacant anymore, the row turns white to indicate that the next component cannot place a jumper lead in the white box. The table and diagrams are in linked here.

Interface Matrix Definition

Interface Matrix Definition

Hardware Design

There are many different types of material we used to finish our final design. We wanted to use strong and reliable materials. Material trade-off study is described in this page here.

Our project manager worked on the schematic and the manufacturing engineer put together the layout. One of the problems our manufacturing engineer faced while doing the layout was the positioning of the pins that will be connected directly to the Arduino Uno. Information about the custom PCB manufacturing is in this link.

Start out with understanding the basic design of AdBot. It consists of a total of eight big wheels, eight tension wheels, four tracks, two gears, one wooden shaft, one wooden pole, one pole holder, and one flat top. The design for the wheels and tracks are from previous semester’s RoSco. I modified them so that they work for AdBot requirements. Details about designing in SolidWorks is here.

Verification and Validation

Verification Test Plans
AdBot’s performance depends on the test plan. These plans show the requirements were considered and are kept when constructing AdBot. The table is linked here.

Verification Table

Validation Test Plans
The customer looks at qualitative features of the product built. Validation tests are done on the day of the final demonstration. The table is linked here.

Validation Table

Project Status

Mass Budget
Knowing individual masses lets the manufacturers know what components or materials to take out or replace. The allocated mass is based on the overall masses to stall the drive motors.

Mass Report

Power Budget
Power Report

Cost Budget

The construction of AdBot rover received a $250 budget. After the first few weeks, $100 was spent on breadboard parts and the chassis. The team has to keep track of our budget during the time building the project. Luckily we saved money and time on shipping due to our team purchasing Amazon prime. The project ended up with approximate $208 of spending—not including the PCB fabrication and SMD components. The cost of the end product is shown.

Cost Report

Project Schedule and Work Breakdown Structure

Project Libre was used to schedule the semester. The WBS illustrates the members’ duties in the schedule and pace to complete those. The depictions are shown

Schedule_1

Schedule_2

Final_BurnDown

The burndown line will not reach zero in software.

Schedule_3

 

Project Demonstration

Concluding Thoughts

AdBot is designed after a tank, and it is built from the ground up on a $250 budget. We ordered several parts from China to save several dollars. This mistake delayed our project for the CDR presentation. We spent a lot of our money during the design phase too on tools and parts to learn to use. With four weeks left and no electronics engineer to make a new schematic, the systems engineer, manufacturing engineer, and I worked extra overtime. The systems engineer had a difficult time writing and troubleshooting his C++ functions that receives commands from the Arxterra application. I was busy a lot in the project, because having one person working on manufacturing is not enough. Construction requires multiple heads to check, cut, drill, and build correctly. Everyone worked on software and tasks almost everyday for months.

The front motors at the end of the arms on AdBot are heavy. It places enough tension on the shaft to shake the servo around, which is screwed onto brackets. In this situation, the president helped us mount the servo securely. To make AdBot better, we should move the motors inside the chassis to drive the four front wheels. The tracks are too long to print on certain machines. The printed tracks took a long time to work on, but after printing, they do not come out as expected. On the final, we used metal tracks.

 

Resource Files

The system and software block diagrams are created using the full version of Shapes.

AdBot Video

CDR

PDR

Project Libre Schedule

Verification & Validation Table

SolidWorks Model Files

EagleCAD Schematic

RoSco Arduino Firmware

AdBot Arduino Firmware

AdBot Interface Matrix Definition Excel Sheet

Software Block Diagram

System Block Diagram

AdBot Bill of Materials