Transcript Slide 1
ECE 485: Electrical
Engineering Design I
Project
By Group 2: Joel Marcia,
Paul Rosensteel,
Scott Laminack,
and Justin Lanham
Overview: The Problem
1.
2.
3.
To design and implement the hardware
and software to control the Trekker
Robot in three competitions:
Go around outside loop 3 times.
Go around outside loop at least once,
then take the inside loop twice.
Evade an obstacle on the track and
follow the guidelines from competition 2.
Overview: Specifications
OOPic R with a
L7806 – 6V
Voltage Regulator
(TO220 Package)
OOPic R
Expansion Board
Pictures from
http://www.superdroidrobots.com/shop/category.asp?catid=25
Overview: Specifications
IR1.Value vs. D
y = 6.1979x - 1.1019
R2 = 0.9984
00140
IR1.Value
00120
00100
00080
00060
IR1.Value vs D
00040
Linear (IR1.Value vs D)
A Sharp
GP2D12 IR
Sensor
00020
00000
0.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
16.0
18.0
20.0
D (inches)
U2.Value vs D
00250
y = 5.2785x + 12.763
R2 = 0.9996
U2.Valu
00200
00150
00100
00050
00000
0.0
5.0
10.0
15.0
20.0
D (inches)
25.0
30.0
35.0
40.0
A Devantech
SRF04
Ultrasonic
Ranger
Overview: Specifications
4 QRB1134
Phototransistors
with mounting
bracket
2 HiTec HS-422
servos to control
the wheels
1 HiTec HS-311
servo to control
the ranger or IR
sensor
Pictures from
http://www.superdroidrobots.com/shop/category.asp?c
atid=25
Optimizing Software and
Algorithms
Game Plan
No “If … Then” statements
Might be easier getting stated, but more
work in the long run
Use object codes to create a virtual
circuit
Simplify the code
Easier to debug
Changes are easier to make
Key Object Codes Used
oServoSP1
oNavCon
oTracker
oCompare2
oServoSP1
Designed to control servos or to interface
servos with different objects
Specifically used with hacked servos
Supports URCP values (positive and negative
values)
Unique property – set Value property to 0, no
pulses are sent to the servo (wheels stop
completely)
*Key Points using oServoSP1
Set the left servo InvertOut property to
“1” – sets wheels turning in the same
direction
Set Refresh property to “1” – doubles the
pulses sent to servos (increases torque)
Tested using o’scope: 36.2 Hz to 73.53 Hz
oTracker
Designed to use digital sensor inputs (line
followers) to determine the location of a
black line on a white background
Formats URCP readings to express how
much it needs turn
Range of values +/-8, +/-16, +/-24, +/-32
Maximum of four sensor inputs
*Key Points using oTracker
Setting the Width property to “1” allows
the use of only three sensors
Range of values +/-8, +/-24, +/-32 (no
+/-16)
The fourth sensor was used to detect
the “inner circle” with an oEvent
oNavCon
Coverts the information received from
oTracker into motor control speed for the
servos
Takes the predetermined “Speed” value then
adds or subtracts the values received from
oTracker (URCP values) and send them to the
servos
*Key Point using oNavCon
Set oNavCon to ”0” to turn off the
line following subroutine
This allowed us to turn off or override
the line following subroutine to make
adjustments for a special “event”
oCompare2
Used with the sonar sensor
Triggered depending on distance
Compares two numbers
(predetermined upper and lower
limits) and sets the servo speed
values to follow a along a wall or go
around a “box”
Basic Flow Diagram
Line following
(oTracker)
oNavCon on
oNavCon off
oNavCon
Inner Circle
(oEvent)
oNavCon off
Go around box
(oCompare2)
Wheels
(oServoSP1)
Competitions 1 & 2
Round #1 of Line
Following Competition
Objective: To complete three laps
around the black line track where
one lap must be around the outer
loop of the track.
The Line Following Sensors
The Line Following Circuit
The circuit for an individual line-follower
• Pull-Up Resistor = 10 kW
• Rf Resistor = 220 W
• Line follower Capacitor = 0.1 mF
Complete Line Following Circuit
The Line Following Printed Circuit
Board
Capacitors Used in Line Following
Circuit Board
We found documentation explaining
how capacitors could be included in
the line following circuit to reduce
noise that the line followers may pick
up.
The capacitors are connected to the
line followers in hopes of leveling out
the ripple in the signal out.
No Significant Difference
We tested the Trekker with, and without
the capacitors in the circuit
No significant difference was found.
Therefore we chose to remove the
capacitors from the line following circuit
board.
Our design of the circuit board made
removal of the capacitors easy, as they
were connected from behind using free
wires
These wires were cut, electronically
removing the capacitors from the circuit
Direction of Travel Around the
Track
Servo Values S4 and S5
The coded values of S4 and S5 refer
to server rotational speeds
S4’s value directly corresponds with
the Right Wheel’s rotational speed
S5’s value directly corresponds with
the Left Wheel’s rotational speed
Finding the center of the servos
rotational speed values
From Trekker Experiment #3
S4 and S5 relationship with the rotational
speed of the wheel was found
Wheel Speed vs. SX.Value
15.00
Wheel Speed (in/sec)
10.00
05.00
00.00
-05.00 0
20
40
60
80
100
120
-10.00
-15.00
SX.Value
Right Wheel
Left Wheel
Left and Right Wheel Speeds are
not the same
Wheel Speed vs. SX.Value
Wheel Speed (in/sec)
15.00
10.00
05.00
00.00
-05.00 0
20
40
60
80
100
120
-10.00
-15.00
SX.Value
Right Wheel
Left Wheel
Reversal of Direction
Because the left servo and the right
servo are opposite of each other,
they each travel in opposite
directions relative to one another
To remedy this, one of the servo’s
values is inverted
Now both wheels will move the
Trekker forward at the same time.
First Competition Program Works!!
The initial line following program was
uploaded to the OOPic R.
The Trekker successfully went around
the outer loop of the track
First run around the track was very
slow
Improvements to Program
Had to find a good value for the servo
speeds
• Not too slow, or the Trekker would take too
long around the turns. It would have a very
“jerky” stop and go manuever.
• Not too fast, or the Trekker would leave the
black line on the turns and not return.
A speed value of 31 was found to be the
best for what we needed
Number of Line Following Sensors
The more line following sensors employed
in the design, the faster the Trekker
should be able to traverse the course
Using Four Sensors
• Time around track = 1 min 6 sec
Using Three Sensors
• Time around track = 1 min 5 sec
Three sensors are used in the final design
of the Line Following program
Three Outer Loops, no Inner Loops
Our Trekker made it successfully
around the outer loop of the track
three times.
No inner loop attempt was made
Round #1 Line Following
Competition Results
Best time around the track:
• 01:00.75
Competition Ranking:
• 4th Place overall
• 8 Points awarded
Round #2 of Line Following
Competition
Competition Objectives:
To complete three laps around the black
line track
One lap around track must be upon the
outside loop
Group Objectives:
To complete two laps around the inner
loop of the track
Make a better time around the track three
times than in Round #1 of the Line
Following Competition
Line Following and Inner Track
Sensors
Line Following Sensors
• Three used, as were used in the Round
#1 of the competition
Inner Track Sensors
• One was used away from the three Line
Following Sensors
Direction of Travel and Inner Loop
Sensor Placement
Direction of
Travel around
track
• Clockwise
Placement of
Inner Loops
Sensor
• On the left side of
the Trekker when
facing the Trekker
front first.
Line Following and Inner Loop
Sensor Placement
Outer Loop Behavior
For the first lap, the Inner Loop
Sensor will record each time it
passes over the inner loop.
Inner Loop Behavior
After the first lap, and the inner sensors
having noted the inner loop twice.
• Every time the inner loop sensor notices a
black line the Trekker will turn to the right, and
take the Inner Loop around until it finds the
opposite side of the track on the Outer Loop
Testing and Improvements
We needed to make the Trekker have
smoother turns around the corners of
both the outer and inner loops of the
track
• This was done by changing the coded
values for the right servo’s center, the
left servo’s center, the oNav.Center, the
LeftServo.Value, the RightServo.Value,
and the overall speed of the Trekker
Results of Testing and Round #2 of
the Line Following Competition
Round #2 Line Following
Competition Results
Best time around
track:
• 0:50.51
Competition
Ranking:
• 3rd Place Overall
• 18 Points Awarded
Competition 3
Round #3 of Line Following
Competition
A familiar problem:
Recognize Inner
Loop
Recognize Tool Box
Line Follow: once
outer Loop, and
twice inner Loop
Oh, and navigate
at most 8.5 inches
from Tool Box
Tool Box Solution
Hardware:
Devantech SRF04
Ultrasonic Range
Finder
HiTec HS-311
Servo
Objects to utilize
hardware:
oSonarDV
oServoSP1
oCompare2:
Properties (Above,
Below and
Between)
The Set Up
1st oCompare2.Input set
to oSonar.Value
2nd ReferenceIn1 set to
Lower oSonar.Value =
53 and ReferenceIn2
set to Upper
oSonar.Value = 58
3rd Allow oCompare to
call Sub Routines to
maintain 8.5 inches
from tool box
Sonar
Operation of Sonar
device
Maximize sample
rate. How? (Link
Sonar.Operate to
OOPIC.HZ60)
SRF04 Timing
Need to toggle at a rate that
sonar needs to monitor
SRF04 Graph
VE(t) vs D
6.000
Pulse Width of VE(t) (ms)
5.000
4.000
3.000
y = 0.144x + 0.1348
R2 = 0.9988
2.000
1.000
0.000
0.0
5.0
10.0
15.0
20.0
D (inches)
25.0
30.0
35.0
40.0
Function of Sub Routines
We had Four Sub Routines:
Flag Inner – Used differently than previous
competitions.
Above - Servo control to turn left.
Below – Servo control to turn right.
Between – Servo control to go Straight
Note: Each Sub controlled operation of
oNavcon
Competition Day
What Happened?
A) Failed to detect object consistently
B) When oCompare operated, Sonar Servo
lost sight of object and Our Left Turn Sub
routine was called.
Possible Solution:
A) First Right Turn was a hard turn, we
needed a set up sub routine and a means
to return to line follower.
B) Improve Sonar Performance.
Overall Results
Completed two of
the three
competitions.
Placed 2nd in the
class overall.
Project was a
success overall
Conclusions
What we learned:
The importance of working as a
team.
Using indicators in a circuit to help
with troubleshooting.
Integration of external devices with
a microcontroller.
Data sheets are helpful in design
and implementation.
Conclusions Continued
What we learned:
How an infrared sensor, a sonar
sensor, and optical sensor work.
Utilization of these devices to
accomplish an objective.
References
“OOPic Manual.” Retrieved from
http://www.oopic.com/.
“Trekker Robot. Retrieved from
”http://www.superdroidrobots.com/s
hop/.