P13215: Wandering Ambassador
Team:
Name / Role / Major / Work SpecialtyBaabak Mamaghani / Team Lead / EE / Data Analyzer & RFID Tag
Matt Pendel / Restructuring / EE / PCB Layout
David Gillette / Restructuring / EE / PCB Layout
Sagar Saxena / Payload / EE / Controller
Anjit Rana / Payload / EE / Sensors
Armando Briones / Programmer / CE / Software
Meeting Purpose:
- Overview of project
- Review proposed new PCB layout schematics
- Discuss proposed software and code changes
- Review robot controller
- Assess proposed autonomy system
Materials to be reviewed:
- Project Description
- Finalized Customer Needs & Engineering Specs
- PCB Schematics
- PCB Block Diagram
- Controller Connection
- Sonar Orientation
- RFID Tagging System
- Software
- Risk Analysis
Meeting Date: May 10, 2013
Meeting Location: 09-2550
Meeting time: 1:30-3:30pm
Timeline:
Meeting TimelineStart time / Topic of Review / Required Attendees
1:30 / Project Introduction, Goals, Deliverables / Mr. Slack, Dr. Gomez
1:40 / Customer Needs, Engineering Specifications and Mission
1:50 / PCB Schematics and PCB Block Diagrams
2:20 / Controller Connection
2:40 / Autonomy System
3:10 / Software
Project Background:
The Wandering Ambassador has been a mascot for the Electrical Engineering Department at Rochester Institute of Technology. It began as a sustainability project and has been modified over the years to serve various purposes such as a plowing snow and squirting water. Over the years, the robot has become disorganized, in terms of physical appearance, documentation, code and purpose.
Project Statement:
We have two main goals for this project. The first is to restructure and clean the robot as well as providing coherent documentation for the succeeding groups. The other task is to make the robot autonomous. This will allow the robot to guide itself through a maze without any human assistance.
Objectives/Scope:
- Clean up and reconstruct a better housing for wires.
- Redesign PCB for convenience and expandability.
- Create a user-friendly control interface.
- Make robot autonomous.
- Thoroughly document code.
- Implement data analyzer to detect hardware malfunctions.
- Ensure safety of audience/surroundings.
Deliverables:
- Functioning robot.
- New payload mission.
- New means of control.
- New motherboard.
- Autonomy
- Improved documentation on current state of the robot.
Expected Project Benefits:
The two main benefits for this project will be reducing the learning curve of future teams, and increasing interest in the wandering ambassador at events such as Imagine RIT. Currently, the overall look of the wandering ambassador is pretty poor. By cleaning up the electrical components of the robot, it will be easier to look at and understand. Also, controlling the robot using a device other than the website would attract a lot more attention. Finally, thorough documentation would allow the upcoming teams to easily grasp the basic concepts and quickly get to work.
Strategy & Approach
Assumptions & Constraints
The team must have a good understanding of the current state of the Wandering Ambassador to make it functional again. The team must assume that certain aspects of the robot work, but need to be reworked to make the robot more user-friendly. The ability to communicate with the panda board might be a constraint on the types of controllers that can be used. The team will focus on design issues throughout the duration of the project in order to assist the development of future design iterations.
Issues & Risks:
- Inability to incorporate working controller
- Failure to design working PCB
- Break current functionality
- Failure to reliably use Sonars
- RFID failure
- Improper coding
Customer Needs
Customer Need # / Importance / Description / Comments/StatusCN1 / 10 / Brainstorm ideas for new mission/payload / Give robot a mission in life.
CN2 / 9 / Semi-Navigation / Implement some autonomy.
CN3 / 9 / Improve aesthetics / Circuit layout, wiring, overall look.
CN4 / 8 / Research short range detection / Sonars, IR, Color Detector, Temp Detector etc.
CN5 / 9 / Assess and redesign robot functions as needed / -
CN6 / 10 / Reduce Learning Curve / -
Engineering Specs
Engr. Spec. # / Importance / Source / Function / Specification (description) / Unit of Measure / Marginal Value / Ideal ValueBrain Storm Ideas For Mission
ES1 / - / CN1 / Wandering Ambassador / Feature
Semi-Navigation
ES2 / 8 / CN2,4 / IR / Use IR to follow path/end of road / cm / 20 / 10
ES3 / 8 / CN2,4 / Sonar / Use sonars to detect objects / inch / 24 / 12
ES4 / 7 / CN2 / GPS / Use GPS to find target / Lat/Long / y / y
Improve Aesthetics
ES5 / 10 / CN3 / Psoc5 I/O / Attach PSOC to FRED Board / Feature
ES6 / 10 / CN3 / Clean up wiring / Feature
ES7 / 9 / CN3 / Create new circuit housing / Feature
ES8 / 8 / CN3 / Clean up chassis / Feature
Assess and Redesign Robot Functions
ES9 / 10 / CN5 / Panda Board / Redesign web browser control / Feature
ES10 / 9 / CN5 / Expansion for Sensors / Incorporate remote control / Feature
ES11 / 7 / CN5 / Research other controller options / Feature
ES12 / 5 / CN5 / Data Analyzer / Feature
Reduce Learning Curve
ES13 / 10 / CN6 / Document / Feature
ES14 / 9 / CN6 / Label Robot / Feature
ES15 / 10 / CN6 / Improve Code / Feature
ES16 / 9 / CN6 / Layout Robot in easy to understand way / Feature
ES17 / 8 / CN6 / Expansion for Sensors / Easy/Quick sensor connections / Feature
KGCOE MSDPage 1 of 35Technical Review Agenda
BOM P13215 5-10-2013Description / Designator / Footprint / Part Description / Quantity / Supplier / Supplier # / Price per unit / Extended price
Mother Board
Capacitors / C1-C8 / 10 uF / CAP TANT 10UF 20V 20% 1206 / 8 / Digikey / 399-5152-1-ND / $0.73 / $5.84
Capacitors / C9-C12 / 470n / CAP CER 0.47UF 10V 10% X5R 0603 / 4 / Digikey / 445-1320-1-ND / $0.10 / $0.40
Indicator LED's / D1-D5 / SML-LX0603 / LED 565NM GRN DIFF 0603 SMD / 5 / Digikey / 67-1549-1-ND / $0.50 / $2.50
External 5 V Regulators / EXT1, EXT2 / 2 / $0.00 / $0.00
Fuse / F1 / FUSE HOLDER AUTO 2IN1 PC / 1 / Digikey / 3557-2K-ND / $0.89 / $0.89
Wire Connection / J1, J6, J7, J10, J12, J13 / TERM BLOCK 2POS SIDE ENT 5.08MM / 6 / Digikey / A98342-ND / $0.76 / $4.56
40 Pin Ribbon Connection / J2, J3, J8, J9 / PLUG 40POS DOUBLE ROW STRAIGHT / 4 / Digikey / OR1081-ND / $1.99 / $7.96
Encoder Connectors / J4, J5 / CONN HEADER 3POS 2MM RT ANG TIN / 2 / Digikey / WM19000-ND / $0.28 / $0.56
Resistors / R1, R2 / 68 ohm / RES 68 OHM 1/10W 1% 0603 SMD / 2 / Digikey / P68.0HCT-ND / $0.10 / $0.20
Resistors / R3, R4 / 180 ohm / RES 180 OHM 1/10W 1% 0603 SMD / 2 / Digikey / P180HCT-ND / $0.10 / $0.20
Resistors / R5, R13, R18 / 1K ohm / RES 1K OHM 1/10W 1% 0603 SMD / 3 / Digikey / p1.00KHCT-ND / $0.10 / $0.30
Resistors / R7, F8, F12, F14, F19, F20 / 4.7K / RES 4.7K OHM 1/10W 1% 0603 SMD / 6 / Digikey / p4.70khct-nd / $0.10 / $0.60
Resistors / R9, R10 / 2.2K / RES 2.2K OHM 1/10W 1% 0603 SMD / 2 / Digikey / p2.20khct-nd / $0.10 / $0.20
Resistors / R11, R15-R17, R21-R24 / 10k / RES 10K OHM 1/10W 5% 0603 SMD / 8 / Digikey / p10kgct-nd / $0.10 / $0.80
Resistors / R25 / 18K / RES 18K OHM 1/10W 5% 0603 SMD / 1 / Digikey / P18KGCT-ND / $0.10 / $0.10
Resistors / R26 / 3.9K / RES 3.9K OHM 1/10W 5% 0603 SMD / 1 / Digikey / P3.9KGCT-ND / $0.10 / $0.10
Resistors / R27 / 56K / RES 56K OHM 1/10W 5% 0603 SMD / 1 / Digikey / P56KGCT-ND / $0.10 / $0.10
Switch for Battery Meter / SW1 / SWITCH SLIDE SPST SMD .4VA / 1 / Digikey / CKN1813TR-ND / $6.39 / $6.39
3.3 V regulators / U1, U2 / LM1085 / IC REG LDO 3.3V 3A DDPAK / 2 / Digikey / LM1085IS-3.3-ND / $2.20 / $4.40
5.0 V regulators / U3, U4 / LM1085 / IC REG LDO 5.0V 3A DDPAK / 2 / Digikey / LM1085IS-5.0/NOPB-ND / $2.20 / $4.40
Half H-Bridge IC's / U5-U8 / BTN7970 / IC MOTOR DRIVER TO263-7 / 4 / Digikey / BTN7970BCT-ND / $7.98 / $31.92
Power Meter IC / U9 / LM3914 / IC DRIVER DOT/BAR DISPLAY 20PLCC / 1 / Digikey / LM3914VX/NOPBCT-ND / $3.66 / $3.66
LED Strip / U10 / HDSP-4832 / LED BAR GRAPH 10SEG RED/YLW/GRN / 1 / Digikey / 516-1236-5-ND / $6.92 / $6.92
Fan Connector / J11 / CONN HEADER 2POS 2MM VERT TIN / 3 / Digikey / WM19004-ND / $0.16 / $0.48
Fan Wire Connector / CONN RCPT HOUSING 2POS 2MM NATL / 3 / Digikey / WM19009-ND / $0.11 / $0.33
potentiometer / VR1 / 10k / TRIMMER 10K OHM 0.5W PC PIN / 1 / Digikey / 3296W-1-103RLFCT-ND / $3.77 / $3.77
For Psoc Connection / CONN HEADER .100 DUAL STR 40POS / 2 / Digikey / S2021E-20-ND / $2.76 / $5.52
For Psoc Connection / CABLE HDD CONN 2XIDE/AT BUS HDD / 2 / Digikey / AE10263-ND / $3.25 / $6.50
For Jumpers / CONN HEADER 100POS .100" DL TIN / 1 / Digikey / SAM1048-50-ND / $4.50 / $4.50
Encoder Wire Connector / CONN RCPT HOUSING 3POS 2MM NATL / 2 / Digikey / WM19010-ND / $0.16 / $0.32
Daughter Board
Conn for Remote Control / CONN HEADER 6POS 2MM RT ANG TIN / 1 / Digikey / WM19003-ND / $0.40 / $0.40
Conn for Accelerometer / CONN HEADER FEMALE 8POS .1" TIN / 1 / Digikey / S7006-ND / $0.85 / $0.85
Conn for Compass / CONN HEADER FEMALE 3POS .1" GOLD / 2 / Digikey / S7036-ND / $0.64 / $1.28
Generic Connectors / CONN HEADER 3POS 2MM RT ANG TIN / 20 / Digikey / WM19000-ND / $0.28 / $5.60
Cable Mother to Daughter / CABLE HDD CONN 2XIDE/AT BUS HDD / 2 / Digikey / AE10263-ND / $3.25 / $6.50
40 Pin Ribbon Connection / PLUG 40POS DOUBLE ROW STRAIGHT / 2 / Digikey / OR1081-ND / $1.99 / $3.98
Generic Wire Connector / CONN RCPT HOUSING 3POS 2MM NATL / 20 / Digikey / WM19010-ND / $0.16 / $3.20
Resistors / 10k / RES 10K OHM 1/10W 5% 0603 SMD / 4 / Digikey / p10kgct-nd / $0.10 / $0.40
Resistors / 15k / RES 15K OHM 1/10W 5% 0603 SMD / 4 / Digikey / p15kgct-nd / $0.10 / $0.40
RC Wire Connector / CONN RCPT HOUSING 6POS 2MM NATL / 1 / Digikey / WM19013-ND / $0.16 / $0.16
Fan for box / FAN 40X10MM 5VDC 0.9W 7.0CFM / 1 / Digikey / 259-1565-ND / $4.49 / $4.49
Total Price / $131.68
P13215 PCB Testing
Test # / Test Name / When to Test / Procedure / Comments
T 1 / Power / Test once all power regulators and connectors have been attached / First check there is no short from power to ground by looking at the resistance between the two. Then connect the 12 volt battery and check the output of each regulator using an oscilloscope to make sure they give steady output voltages at the correct voltage. / Special attention to the power for the panda board and psoc to make sure they will not damage these devices.
T 2 / H-Bridge / Once power and H-Bridge has components have been placed on PCB / Using the test pins and power supplies the H-Bridge will be tested for all possible inputs for each motor. / test combinations, no move 100, one direction 110, opposite direction 101
T 3 / Psoc Connections / Any time after PCB made / Test point to point connections of Psoc to the mother board to make sure the connections are connected to where we think they are.
T 4 / Power Meter / After power meter components have been attached / With out panda board or psoc attached the boards power connections will be attached to a variable power supply and the voltage adjusted to test the power meter. / Make sure anything that could be damaged is not attached.
T 5 / Daughter Board / Any time after PCB made / Test point to point connections of daughter board to the mother board to make sure the connections are connected to where we think they are.
T 6 / Fan / After power and the fan connector have been attached / the board will be powered normally and then the fan will be attached and allowed to run for 60 min to make sure it can run without a problem for long periods
T 7 / Encoders / After power and the encoder sockets have been attached. / Test by attaching encoders and connecting output to oscilloscope and then turning encoders to see that the voltage ramps up to almost 5 volts and then back down to 0 volts in a triangle wave shave for every revolution.
T 8 / RC Inputs / After RC Connector has been attached / Connect the RC cars wires to the daughter board and using the power from the car power the signal pins and check that the voltage dividers drop the voltage down to below 3.3 volts.
PCB Psoc5 Connections P13215
Analog Port E / Connection to / Digital Port D / Connected to
P0[7] / 5.0V General Con / P1[7] / Not Connected
P0[6] / 5.0V General Con / P1[6] / Compass CLK
P0[5] / 5.0V General Con / P1[5] / Compass /EN
P0[4] / 5.0V General Con / P1[4] / Compass Din/Dout
P0[3] / 5.0V General Con / P1[3] / RC pin 3
P0[2] / 5.0V General Con / P1[2] / RC pin 4
P0[1] / 5.0V General Con / P1[1] / RC pin 5
P0[0] / 5.0V General Con / P1[0] / RC pin 6
P3[7] / Not Connected / P2[7] / Not Connected
P3[6] / Not Connected / P2[6] / Not Connected
P3[5] / 3.3V General Con / P2[5] / SCL
P3[4] / 3.3V General Con / P2[4] / SDA
P3[3] / 5.0V General Con / P2[3] / SDO
P3[2] / 5.0V General Con / P2[2] / INT2
P3[1] / ENC_L / P2[1] / INT1
P3[0] / ENC_R / P2[0] / CS
P4[7] / 3.3V General Con / P5[7] / Not Connected
P4[6] / 3.3V General Con / P5[6] / Not Connected
P4[5] / 3.3V General Con / P5[5] / INH_R
P4[4] / 3.3V General Con / P5[4] / IN2_R
P4[3] / 3.3V General Con / P5[3] / IN1_R
P4[2] / 3.3V General Con / P5[2] / INH_L
P4[1] / 3.3V General Con / P5[1] / IN2_L
P4[0] / 3.3V General Con / P5[0] / IN1_L
P12[3] / Not Connected / P12[3] / Not Connected
P12[2] / Not Connected / P12[2] / Not Connected
P12[1] / Not Connected / P12[1] / Not Connected
P12[0] / Not Connected / P12[0] / Not Connected
V3.3 / V3.3 / V3.3 / V3.3
V5.0 / V5.0 / V5.0 / V5.0
Vin E / 5 V / Vin D / 5 V
RC Controller
Following is the table that depicts the signals going into the H-Bridge that allow for the movement of the robot (note that the right motor is oriented opposite the left motor on the robot-so clockwise rotation for the left motor ends up being the counter-clockwise rotation for the right motor so the table tries to adjust for this);
LEFT motor / Type of rotation / RIGHT motor / Type of Rotation / ResultINH_L / IN1_L / IN2_L / INH_R / IN1_R / IN2_R
1 / 1 / 0 / CW / 1 / 0 / 1 / CW / Fwd
1 / 0 / 1 / CCW / 1 / 1 / 0 / CCW / Back
1 / 1 / 0 / CW / 1 / 1 / 0 / CCW / Spin right
1 / 0 / 1 / CCW / 1 / 0 / 1 / CW / Spin left
H-Bridge Control Signals Table
Based on this table, it may be noted that the robot can only hand 1-D movements i.e. either forward/backward OR right/left. Note that “forward and right” motion will result in a clash of signals for the right motor. Hence the turning is going to be on the axis of the robot.
A way to avoid this would be to send different PWM (or different strength signals) to the left and right motors which could help in such a movement.
KGCOE MSDPage 1 of 35Technical Review Agenda
Sonar
Figure 1. Schematic for Sonar
Actual Distance (feet) / Actual Distance (inches) / Voltage (mv) / Sonar Measured Distance (inches) / Error (inches) / Error (%)1 / 12 / 132 / 13.46938776 / 1.469387755 / 12.24489796
2 / 24 / 220 / 22.44897959 / 1.551020408 / 6.462585034
3 / 36 / 337 / 34.3877551 / 1.612244898 / 4.47845805
4 / 48 / 454 / 46.32653061 / 1.673469388 / 3.486394558
5 / 60 / 572 / 58.36734694 / 1.632653061 / 2.721088435
6 / 72 / 688 / 70.20408163 / 1.795918367 / 2.494331066
7 / 84 / 805 / 82.14285714 / 1.857142857 / 2.210884354
8 / 96 / 923 / 94.18367347 / 1.816326531 / 1.892006803
9 / 108 / 1040 / 106.122449 / 1.87755102 / 1.738473167
10 / 120 / 1158 / 118.1632653 / 1.836734694 / 1.530612245
11 / 132 / 1274 / 130 / 2 / 1.515151515
12 / 144 / 1392 / 142.0408163 / 1.959183673 / 1.360544218
Table 1. Sonar Test Results
Angle (Degrees) / Actual Distance (feet) / Actual Distance (inches) / Voltage (mv) / Sonar Measured Distance (inches) / Error (inches) / Error (%)0 / 2 / 24 / 221 / 22.55102041 / 1.448979592 / 6.037414966
10 / 2 / 24 / 738 / 75.30612245 / 51.30612245 / 213.7755102
20 / 2 / 24 / 1002 / 102.244898 / 78.24489796 / 326.0204082
30 / 2 / 24 / 465 / 47.44897959 / 23.44897959 / 97.70408163
40 / 2 / 24 / 400.6 / 40.87755102 / 16.87755102 / 70.32312925
50 / 2 / 24 / 455-670 / 46.43-68.37 / 22.43-44.37 / 93.45-184.86
Table 2. Sonar Angle Test Results
Sonar Pin Layout:
Pin 1: Leave open (or high) for serial output on Pin 5 output.
Pin 2: Outputs a pulse width representation of range (147us per inch).
AN: Outputs analog voltage (5V supply = 9.8mV/inch and 3.3V supply
= 6.4mV/inch)
Pin 4: Internally pulled high.
Pin 5: Outputs delivers asynchronous serial with RS232 format when Pin 1 open or
High (Output looks like ‘RXXX’ where XXX is range in inches).
V+: Operates on 3V-5.5V.
GND: Plug to ground.
Connection Plan:
- Pin 1, 2, 4 and 5 will be left alone.
- V+ and GND will connect to the PCB to receive 5V and 0V respectively.
- AN will connect to analog ports on the Psoc.
Orientation Plan:
Top
Bottom
- Sonars will be angled 90° from one another.
- Front sonar will be roughly 1 foot into the robot body. This accounts for the 1 foot “dead zone” where the sonar always outputs the same voltage.
- Front sonar will be used to determine if objects or people are in front of the robot’s path.
- Side sonars will help to determine distance to the walls.
- Back sonar will be present incase robot needs to back up. It will determine if there is an object or person in the way.
RFID
The RFID reader has two versions a MH connector version and a MH connector version. They are both priced the same. They use different connectors and have different pin out.
RFID ReaderPandaboard (UART4?)
The red box is shows the Rx and Tx pin # in the Pandaboard J3 expansion slot
RFID Pin out table [CF connector version]
BOM for Autonomy
Item / Part Description / Supplier / Part # / # Needed / Price Per Unit / Total Price / Part1 / Orange Spray Paint / Home Depot / - / 3 / 3.87 / 11.61 / n/a
2 / Scotch Tape / Home Depot / - / 1 / 2.27 / 2.27 / n/a
3 / Black Spray Paint / Walmart / - / 1 / 0 / n/a
4 / Remote Control Car / Walmart / - / 1 / 19.99 / 19.99 / n/a
5 / 9V Battery / Walmart / - / 1 / 0 / n/a
6 / 8 AA Batteries / Walmart / - / 1 / 0 / n/a
7 / Sandpaper / Home Depot / 0 / n/a
8 / RFID Reader / 753-1015-ND / 1 / 372.63 / 372.63 / SkyeModule M9
9 / Antenna / HG908P-SM / 1 / 54.99 / 54.99 / HyperLink Wireless 800 MHz 8 dBi Flat Patch Antenna
Total Price / 461.49
Software Redesign
In order to achieve maximum expandability, the wandering ambassador software systems were reorganized as shown in the following block diagram.
Flow of information through the wandering ambassador.
It can be observed that the PSoC functions are explicitly stated in the same manner that the Pandaboard functions are. Data collection was distinguished from motion, and the connection between the blocks illustrates the protocols used to communicate between software systems.
The older system did not distinguish between Motion and Data Collection. The blocks did not describe the specific functions of the different devices. And the protocols utilized were inefficient. Communication between the Pandaboard and the PSoC were simplified to the use of the UART.
Plan for software renovation
While the software design in the previous project was functional, it lacked efficiency in many aspects. The following is a plan devised to polish the original system, and to accommodate for expandability.
PSoC Software:
- The new system will be interrupt-driven, as opposed to using a polling approach. This will optimize the use of the processor, and only react to events when necessary instead of running indefinitely.
- A naming convention will be added. Presently all the code is written with meaningless names. This makes readability almost impossible, increasing the learning curve and making the project less adept for expansion.
- Functions will be reorganized; software blocks pertaining to one specific system will be grouped together and their implementation will be given separate header files. Currently the system runs from one small set of files that group together things that don’t belong in the same place.
- In accordance with the hardware team, the GPIO pins used will be reorganized. This will facilitate their accessibility. Currently there doesn’t seem to be any logic behind pin selection.
- The pin changes will open up ports for new devices, including the RC receiver.
Pandaboard:
- Communication between the PSoC and the pandaboard will be done through the UART. Currently the approach is to use the USB port in the pandaboard and transforming it to serial and transforming that into two signals. The approach seemed arbitrary, and it was inefficient. The new approach will only use one protocol.
- The pandaboard will become accessible through SSH (Secure Shell) in order to remove the need of connecting any devices to it. Accessing the pandaboard through SSH will allow the team to start the robot wirelessly. Currently the robot can only be started by connecting a keyboard, mouse and a monitor to the pandaboard.
Web Code:
- The new GUI will be intuitive. The current implementation uses a table approach that is not only unintuitive, but also breaks the standards of web development.
- Scripts and CSS will be separated from the markup. Currently everything is crammed together for no particular reason
- The website will be made available through mobile devices. The site is currently accessible, but the layout does not naturally work with the devices.
- Special effects will be added to the
Web Controller
The GUI redesign will facilitate the use of the robot. The following is the second prototype. This is subject to change.