Skip to content

Latest commit

 

History

History
79 lines (60 loc) · 4.03 KB

README.md

File metadata and controls

79 lines (60 loc) · 4.03 KB

Recruit Challenges 2024

This repo contains a set of files, challenges and considerations that you must take into account if you want to be elected as a member of the team's board of directors.

Position #1: Software Development

Responsibilities

  • Lead the development of the robot's software
  • Communicate with the mechanical lead on the robot's mechanical limits and desired functionality
  • Communicate with the electronics lead on how the robot is wired
  • Teach others interested in the position
  • Ensure that the robot is fully operational
  • Ensure code safety to avoid crashes and malfunctioning
  • Ensure a fast and effective response from the robot
  • Implement safeguards to prevent accidents (robot to robot, or robot to human)
  • Understand WPI and FIRST libraries
  • Knowledge of external and vendor libraries

Required Abilities

  • Proficiency in Java or C++
  • The will to read
  • Moderate or advanced logical thinking
  • Teaching skills
  • Patience
  • Good communication
  • Willing to admit one's own mistakes

Optional Required Abilities

  • Can implement external and peripheral apps such as scouting or diagnostic apps

In order to apply to this position, complete the following challenges

Challenge #1

This repo contains 11 challenges to complete in order to be considered for the selective process. These will evaluate your logical thinking and proficiency with CS concepts. Complete as many as you can in any language you'd like. We will only take into account the challenges you complete.

Challenge #2

You must be able to recreate the code of this season's robot, Playbot Carti, in either C++ or Java. The robot's repo is available for you to read but you must understand how everything works and you mustn't copy it just to complete the task.

REQUIREMENTS & CONSIDERATIONS FOR CHALLENGE 2
  • Code must be yours. We can tell your code apart from ours (complexity + writing style).
  • You can ask any team member for orientation
  • Code must be in either Java or C++
  • The robot must operate appropriately
    • In the event that the robot is dismantled, alternate grading will take placed. You will be notified.

Position #2: Electronics Management

Responsibilities

  • Ensure that all electronics are wired correctly, both logically and according to the CAD model
  • Communicate with the mechanical lead on how all electronics will be placed and managed
  • Communicate with the software lead on how the robot is wired
  • Ensure the safety of all electronics (No short-circuits, no brownouts, correct amp ratings, etc)
  • Keep all robot batteries in a good and reliable state
  • Design custom circuit boards to facilitate development (These must meet FIRST standards)

Required Abilities

  • Moderate-to-advanced electrical knowledge (Current flow, Ohm's Law, etc)

  • Moderate-to-advanced electronics knowledge (Difference between electric and electronic, digital signal handling, filters, etc)

  • Has knowledge in basic electronics components (Regulators, inductors, electrical motors, motor controllers, etc)

  • Understands the FRC electronics ecosystem

  • Knows what a breaker is.

Optional Required Abilities

  • Basic-to-moderate CAD knowledge (for electronics design)

In order to apply to this position, complete the following challenges

Challenge #1

Meet us at our laboratory. You will be given a wooden plate along with several electronics components. You must wire a working tank-drive chassis. The code to test it has already been written for you.

Challenge #2

You must create a custom circuit board as a CAD model which aids in connecting CAN bus terminals, meaning: it has to be sequential and have several non-primary inputs. Includes primary input (RoboRIO) and priamry output (PDP or PDH)

Submission

In order to submit your challenges, send an e-mail to [email protected] containing your full name, desired position and chalenge progress.

This task is a rather simple one for the people already in the board of directors and thus you shall receive no trival help for this task. Complex topics are up for discussion.