Skip to content

Robocup Soccer Chair

Congratulations on becoming the new Robocup Soccer Chair of the IEEE Student Branch at the University of California San Diego!

Summary:

The RoboCup Mechatronics Chair is responsible for managing the hardware teams (mechanical and electrical) and ensuring they work in tandem with Software. This includes coordinating design projects with mechanical and electrical and electrical with embedded software. They research other RoboCup Teams’ methods through their team description papers and communicate with them for advice on technical issues and team management. They must compensate project timelines for events (i.e. Robofest, RCF) and competition deadlines. Funding for parts and competition is also a priority either through sponsorships or department funds. They must formulate an approximate budget for hardware required to compete and order them either through Digikey or elsewhere within the funds allotted.

What to know

Original Doc (Must be logged into UCSD Account)

https://ssl.robocup.org/robocups/robocup-2025/robocup-2025-qualification/

Logistics

How AS funds work:

  1. For food
  • Ask for it 6 weeks in advance
  • Need to reserve room
  • Email or fill out form to reserve room
  • Qualcomm → fill out form
  • Multipurpose, or classroom → email julie moritz, cc ece facilities assistant
  1. Travel and comp funds

Sponsorship package with the next VC External

  • Joshua Rana
  • Work on it over summer

Flyers

  • Contact Internal Team
  • Fill out form 6 weeks in advance

Parts

  • Go to VC Finance
  • Fill out form
  • Go to ECE

Recruiting for applicants

  • Application forms due
  • Interview week
  • Gantt chart for deadlines, not just to-dos

Target number of applicants: 100+
Target number of team members (including subteam leads):

  • AI: 6-8
  • Embedded Software: 3-4
  • Mechanical: 3-4
  • Electrical: 3-4

People care about career outcomes - mention this when tabling and talking to potential applicants

  • Internships at Amazon, Linkedin, Nasa, ServiceNow, Tesla
  • Interviewed at Tesla, Lucid, Amazon, Linkedin, Nasa, ServiceNow, C3 AI, Wayfair, CoStar Group
  • And potentially more

Mention that we are looking for talented engineers

  • Applicants do not need to know our entire tech stack but a certain level of understanding is required/expected
  • DO NOT say we are beginner/noob-friendly

If asked about chances of getting accepted,

  • DO NOT provide any percentages, promises, or guarantees
  • Just walk them through the application and interview process and mention we are looking for talented engineers, encourage them to apply, provide no further comment

Interviewing

Points of evaluation:

  • Technical competence
  • Communication skills/ability to explain their solutions to problems
  • Promotability to higher positions
  • Grit/Perseverance
  • Passion/Interest
  • Ability to work in a team

Technical Competence

  • AI
    • Data structures and algorithms (trees, lists, and whatever else you see in the codebase)
    • Knowledge of Java - syntax, garbage collection, statically-typed and compiled
    • Knowledge of Python - syntax, dynamically-typed and interpreted
    • Multithreading and synchronization, critical sections
    • Time and space complexity and optimization
    • Git/GitHub, Continuous Integration
    • Design Patterns, good code quality and style
  • Embedded Software
    • I will leave this to Pranav and Thomas
  • Mechanical Design
    • Basic understanding of mechanics - Newton’s Laws, kinematics, mechanical advantage
    • Proficiency in CAD
    • Ability to 3D-print and laser cut is highly preferred
  • Electrical
    • Ability to apply basic circuit analysis techniques - KVL, KCL, node and mesh analysis, Thevenin and Norton’s theorems
    • Knowledge of transient first and second order circuits
    • Knowledge of sinusoidal steady state response
    • Ability to simulate circuits using SPICE software
    • Proficiency with lab equipment - waveform generator, oscilloscope, multimeter, DC power supply, breadboard
    • Basic soldering skills
    • Familiarity with PCB software and design is highly preferred

Communication Skills

  • Clarity of thought and explanation
  • Ability to articulate line of reasoning
  • Interpersonal skills and teamwork

Promotability

  • Leadership skill and potential
  • Ability to manage people, take on responsibility of a subteam lead and/or Robocup chair in future years

Grit/Perseverance

  • Ability to reason their way toward an answer to a question they do not know the answer to
  • Uses hints well to provide reasonable answers
  • And most importantly, does not give up

Dedication/Interest

  • Reason for applying is well-thought out and convincing
  • Evidence that person will attend meetings and not leave team

Suggested Interview Format [60-70 min based on position] - can end early if candidate is doing poorly:

  • Introductions [4 min]
  • Ask why they applied / want to join the team (this is to test dedication/interest) [3 min]
  • Ask problem-solving question (similar to the day-to-day of appropriate subteam - this is to test core technical competencies) [25 min]
  • Ask another problem-solving question (should be out of their area of expected knowledge, make them make educated guesses, question these guesses and provide hints, make it hard for the candidate - this section is meant to test grit) [15 min]
  • Ask a series of short technical questions (if needed) to assess knowledge of other technical competencies not already assessed [5 min]
  • Give a sample leadership situation(s) and ask them what they would do in that situation [5-15 min based on position]
  • Answer their questions [5 min]

Sub-team leads

RoboCup Federation website

Running a Technical Team 101

  • Meetings 1-2x per week (more for software)
  • Standups
    • At the beginning of every meeting, if the meeting is long (like a workathon) then do one at the end as well
    • Format: in 1 min, tell the team:
      • What you have done since the last standup
      • What blockers you are facing
      • What you will do between now and the next standup
    • Then, parking lot afterwards
  • Keep track of epics, stories, and tasks in Notion
    • Keep deadlines with buffers for everything. Notion will create a calendar for you, use it as a guide, keep updated, push the team forward and hold them to the deadlines
  • Software only: Code reviews/code quality
    • All code changes that are being pushed to the repo must be code reviewed by 2+ team members - should be a single idea (~150 lines of code) - no massive CRs
    • CRs may not be approved and merged until the following conditions are met:
      • Code is clean and well-written
        • Single responsibility principle is followed
        • Programming norms are followed and appropriate libraries are used
        • Corner cases (including null input) are covered
        • Logging is used appropriately
        • No synchronization/multithreading issues - minimal but sufficient use of synchronized keyword
        • Minimal use of statics - this has to do with ease of mocking with Mockito and being able to write good tests
      • All changes are unit tested (with JUnit and Mockito for Java AI) with high test coverage across many cases (all typical uses + edge/corner cases)
      • Tests pass
        • Integ tests (Maven build in GitHub Actions)
        • Unit tests
  • Design docs
    • All major projects/epics require a design doc in the format:
      • Intro/Summary - what is the project, why do we need it and what problems are solved, functional/non-functional reqs and KPIs, high-level solution
      • Architecture/design options w/ pros and cons for each option + author’s recommendation for each
      • Next steps with future actions needed and tentative timeline
      • Team decision
    • Once done, brought to next team meeting and read silently, then discussed and decisions made

Team Roles
AI

  • AI Software Engineer I
  • AI Software Engineer II
  • Senior AI Software Engineer

Embedded

  • Embedded Firmware Engineer

Electrical

  • Analog Design Engineer
  • PCB Design Engineer
  • FPGA Engineer

Mechanical

  • Mechanical Engineer