SpookyBotz Control Award
SpookyBotz Control Award
Autonomous Objectives
D
High-scoring & reliable auto, that is partner adaptabl
Detect the team prop using a computer vision mode
Delay auto if needed, to work with our partner’s aut P P P
Rapidly scores the purple and yellow preload
Driving by wall or through stage door, intakes 2 stack pixel
Approaches the backdrop and scores the pixel
Repeats steps 3 and 4 until 6 pixels are cycle
Parks in the 1 of 3 possible locations S
Autonomous Map
Autonomous Enhancements
Intake
I S Star t
P
Park
D Deposit
Sensors Used (3x) (1 of 2) (1 of 3) (4x)
Cameras (x2)
Absolute Encoder (x1)
IMU (x1)
Read team prop for Allows us to track the Tracks the angular
autonomous and relocalize position of our arm with orientation of our robot.
using april tags. 12 bit precision
Distance Sensors (x2)
Odometry (x3)
Presets on our controller streamline scoring on the nth row, by providing data
to our arm inverse kinematics that move it to convenient scoring positions,
separating the driver from manually controlling fine details such as deposit
height or angle. Read more about how our kinematics work on the next page.
Control Award Submission - KookyBotz
Key Algorithms
Arm Physics and Inverse Kinematics
Our robot’s extremely large and fast arm presented a unique opportunity to
introduce physics modeling and driver enhancements- control that could show
a considerable performance benefit over robots of the same archetype. This
also presented a learning opportunity for us, applying math and physics to FTC.
Inverse Kinematics
distance from the backdrop. The model then translates them into angles the
robot can understand and travel to, which are arm and wrist positions. We
derived this model using trigonometry and dimensions from CAD, and it has
trivialized our deposit code. This mathematical arm control allows higher
accuracy and precision, compared to arbitrary scoring height presets.
Calculating the center of mass of our arm and the effects of gravity on it enable
us to calculate the exact gravitational effects exerted on our arm motor. Based
on that force, we can then apply a modeled feedforward to our PID control
which will keep the arm balanced at whatever angle it was sent to.