8. What is Computer Vision?
â âGaining high-level understanding from digital images or videosâ
â Includes video tracking, object recognition, 3D pose estimation, motion
estimation, and image restoration.
â Weâre mainly concerned with object recognition
Acquire ActThink
Computer Vision
9. Motivation
â Robot localization (estimating the robotâs
position on the field) is very useful in
autonomous
â Dead reckoning approaches are only accurate
for short movements
â Other advanced sensing techniques are not
feasible (e.g., lidar is illegal)
â Major field elements are composed of
simple shapes with solid, saturated
colors
â This makes simple image processing feasible
(i.e., no CNNs needed)
10. Image Representation
â Computers use matrices to
represent image data
â Grayscale images are stored as a
2D matrix with each cell storing the
intensity of the corresponding pixel
â Color images have multiple
channels (e.g., RGB) with a separate
matrix for each channel
â For example, the red channel matrix
stores the intensity of red in each
pixel
0
255
8-bit
gray
palette
RGB channels
11. OpenCV
â An open source computer vision (CV) and
machine learning software library
â Very common in industry
â Provides implementations of many CV algorithms
and supporting data structures
â These operations can be assembled and
composed together to form pipelines
12. Basic Example: Jewel Vision
â Jewel detection is a useful task in
this yearâs game
â Although a color sensor can be used,
they are somewhat unreliable and
difficult to position
â Since the position of the jewels is
fixed, we know beforehand where the
jewels will be located
â With this insight, jewel detection is as
simple as comparing the sum of the
red/blue pixels in these regions
13. Blurring
â A pretty common operation
outside of computer vision
for editing images in general
â Blurring is also common in
image processing to smooth
out images and remove noise
14. Thresholding
â Thresholding turns a grayscale image into a binary one
â Simple procedure: pixels below the threshold become black, pixels above the
threshold become white
â RGB thresholding applies the operation to each channel separately
15. Alternative Color Space: HSV
â Alternate way to represent color
â Three channels/dimensions:
â Hue
â Saturation
â Value
â Often used instead of RGB for
color thresholding
17. Contours
â Basically boundary curves
â OpenCV can find the
contours that enclose
regions in a binary image
â Allows for the pipeline to
extract useful information
from the image data
19. Motion Control
â Speed + Accuracy
â Lots of subsystems
need motion control
â Drive base
â Jewel arm
â Dump bed
â Dump lift
â Relic claw
Acquire ActThink
20. Control Systems
â Get from state A to B
â Maintain a setpoint
â Various applications
â Motion
â Temperature
â Chemical processes
â Power supply
22. PID
Account for current error
â Slow down as it nears the target
Account for past error
â Compensate for constant forces
â Gravity, Friction, Heat loss
Account for future error
â Dampening
â Prevents overshoot
23. Motion Profiling
â Observe constraints
â Max Velocity
â Max Acceleration
â Time optimal
â Feedforward vs Feedback
25. Jerk Control
â Jerk - the derivative of acceleration
â The rate at which
acceleration is changing
â Acceleration Control necessitates
infinite jerk
â 7 segments with constant jerk
26. Putting it all together
â Feed forward control - applies
control in a pre-defined way
â Feedback control - applies
control in response to the state
of a system
â V and A terms - relate desired
motor performance to voltage
applied
â Lower PID gains - feed forward
ensures that there is relatively
low error
27. Follow Our Progress
â Website: goacmerobotics.com
â Facebook: fb.com/acmeroboticsinc
â Instagram: @acmerobotics
Contact Us
â Email: goacmerobotics@gmail.com
Learn More About FIRST
â Website: firstinspires.org
Robot Code
â GitHub: https://github.com/acmerobotics/relic-recovery
Founded 3 years ago by Ryan and Kellen because they wanted to do robotics and there was a lack of STEM activities in the area
Grown to 11 team members and 5 mentors (coaches)
Only brought the three senior members / team leads
Community team (room at NU, but self-funded team)
International competitive robotics organization founded almost 30 years ago by serial entrepreneur Dean Kamen
Focused on building skills for future business and technology leaders
4 levels of programs, starting for kids age 6 through high schoolers
Way more fun than the Federal Trade Commission
We compete in the third level, First Tech Challenge, for middle schoolers and high schoolers
Program is designed so teams run like small tech start-ups
Team is responsible for creating and setting the budget and raising money for the year
Team is split into multiple sub-teams: hardware, software, and business
Documentation: engineering notebook that we present to judges at competitions, documents our teamâs journey and design process
Scheduling: team must figure out how to get everything designed and built among multiple sub-teams by a deadline
Marketing: team branding, website/social media, fundraising
Specific examples - like current budget tension between being over budget and wanting to rebuild the robot
Community outreach: summer camp, school presentations
Talk about each sub-component of the hardware (and how we do CAD)
High-level overview of robot (how it talks to driver station and is controlled)