3. HARDWARE BLOCK DIAGRAM
Sensor
Interface
Perception
Global
Services
Planning &
Control
Vehicle
Interface
Line scan
Camera
Line
Detection
mbed
KL25Z
Steering
Control
Differential &
PWM Control
Telemetry &
Debugging
Bluetooth
Data
Logger
RAM Servo
Servo
Motor
Encoders
Differential &
PWM Control
Motors
Velocity
Control
Implemented but not used
Implemented and used
LEGEND
Data Connections
8. SOFTWARE BLOCK DIAGRAM
Initialize Motor
& Servo
Line Scan
float [128]
Low & High
Pass Filter
float [128]
Determine
Midpoint
int
Update
Midpoint
int
Servo
Control
int
Update
Servo PWM
float
w/ valid midpoint
w/ invalid midpoint
updates every 16ms
9. LINE DETECTION
• Algorithm
• collect analog values
• low & high pass filter
• find min/max index and width
• Analysis
• robust w/o distortion or
threshold
• works well on the straightaways,
crosses, and the curve
• sometimes detects false
positives when no line is found
11. THE INTUITION
• Encourage understeering with a far viewing angle
• understeering is easier to recover
• Hold steering angle when we lose track on sharp turns
• false positives create large problems
12. P CONTROL
• Stability
• overshoot: compare previous midpoints to current midpoint
• false positives: use width to verify data or utilize a threshold
• Simulation
• simulated data was not very reflective of actual car
float
k_p
=
0.9f;
0.096f
(LEFT)
-‐
0.06f
(RIGHT)
=
0.036f
(SERVO
PWM
RANGE);
const
float
UNIT
=
0.036f
/
118;
float
change
=
-‐UNIT
*
(target_center
-‐
estimated_center)
*
k_p
18. FOR FUTURE GENERATIONS
• Glitches & Failures
• MOSFET touched each other and fried the board. HEAT SINK ARE NOT GROUND.
• Don’t flash code when your battery is connected.
• Advice
• Keep your control algorithms minimal
• Run continuity tests before powering the components
• Check if the components are functional before connect them to the board
• Program used
• Autodesk Fusion 360, Eagle, Telemetry, Mbed online compiler, Vrep, Keil µVision: IDE
19. TEAM ROLES
• Quinn - Motor Driver PCB Design
• Byung - Line Detection Algorithm
• Frank - Simulation & Mechanical Design
• Shared - Control & Tuning