This document summarizes an autonomous RC car racing project completed by students. The goals of the project were to create an RC car that could autonomously follow a black line on a track as fast as possible using a line-scan camera, microcontroller, and PID control logic. Over the course of the project, students assembled the car, integrated the hardware and camera using C coding, researched PID control, and tested the car. While the project was challenging and required constant tuning, the students were able to complete the autonomous functions and present the car at competitions. In the future, they hope to improve the PID control logic and add additional sensors. The document outlines the accomplishments, lessons learned, and tips for taking on a similar
2. The Vision and Inspiration
• Paving the way for the future of vehicle design
• Cars having the ability to drive themselves with little no input from a user.
• Automatic obeying of traffic laws
• Automatic enforcement of speed restrictions
• Collision detection and prevention
• Sudden danger avoidance
• Before all of this, we needed to understand what it meant for something to
be autonomous… something that drives and reacts on its own.
3. The Freescale Cup
• Provides that solution by providing
a competition
• Students from all over the world
attempt to make an autonomous
RC car
• The RC car is required to follow a
black line on a winding course as
fast as possible
• Requires the use of a power control
board, a 128-bit one dimensional
line scan camera, and a Freescale
microcontroller of our choice.
• Also requires a lot of C coding. A
lot.
6. Accomplishments Over the Quarter
• Assembly of an RC Car with camera, power board, and micrcontroller
mounting.
• Smooth integration of line-scan camera, DC motors, and servo motor
through C coding.
• Research and development of PID control.
• Research and development of lighting hardware to increase accuracy of
the line-scan camera.
• Power management and consideration for Hardware implementation.
• Project management through various tools and skill considerations.
7. Potential Future Design
• Better research and implementation of
the Proportional, Integral, and
Derivative Control Loop Logic.
• Design considerations for other pieces
of hardware, such as an additional line
scan camera, Polulu sensors, and
accelerometer.
• Potential use of averaging input data as
well as error calculation to fine tune
PID control.
• Use of other control logic, such as
FUZZY.
• Use of a different development board
such as the Freedom Board
8. Understanding Project Management
• Used various tools to help keep the project on track
• Jira – Used for creating sprints and other sub-tasks to effectively
manage the workload of the project.
• Confluence – To help consistently update others about current project
progress and show off of the design.
• Microsoft Project – To help in understanding the overview of the
project as well as differentiate between major and minor tasks within
the set timeframe.
• The basics of project management:
• The Overview – Understanding the scale of the project
• The Planning – Splitting the project into various tasks with various
strict deadlines
• The Execution – Completing the project in whatever style necessary to
complete the tasks
• The Adaption – Constantly monitoring and improving the plan in order
to meet the deadline
• The Conclusion – Finalizing and finishing the last touches on the
project
9. Our Opinion About the Project
• Competition was on Week 8 and Imagine RIT Week 9. Gave us a realistic
time frame and thus more motivation to work on the project.
• Seemed pretty simple at first… we were very wrong (NOT plenty of time…).
• Constant tuning of the vehicle was the main focus of the design once PID
was implemented.
• Understanding how and when the camera took in data, how to smoothen out
the data, and then have the car react to the data was a very long and
tedious process. It was quite stressful and takes a copious amount of time
and patience.
• The constant testing and live demos of the working vehicle were quite
rewarding, and so the project seemed very worthwhile.
• Overall, we loved the project, and we love what the project stood for.
10. What We Would Change if We Did it Again
• Consistently document which versions of our code
worked great before we heavily modified it (Revision
numbers and a document explaining the differences
between all revisions).
• Effectively manage our time allocated for the
project.
• Create an easier way to alter constants on the fly
(wireless, UART, etc.).
11. Tips for Anyone Who Picks Up the Project
• Start early. Way early. You’ll need as much time as you can to perfect
the tuning of the vehicle.
• Make sure to consistently document the changes you make. Knowing
what you’ve changed, where you went wrong, is vital.
• Constantly utilize all the resources around you. The professors here
have a wealth of knowledge. Grab as much of it as you can!
• Sleep spend your hours in the lab and bother Prof. Mondragon all the time (he is
always almost always in his office, but it may take him a pico-second or two.
12. THANK YOU!
Thanks for paying attention to our presentation!
This project has been quite the ride! Any questions?