Skip to content

RuthGatorBinsburb


FTC_16887






Engineering Notebook











Sacred Heart Association Robotics Team

FTC_Power_Play

2022-2023

Table of Contents

wow, so organized!

  1. Team Information
    1. Team Summary
    2. Member Information
    3. Outreach
  2. Engineering Content
    1. Designing
    2. Body
    3. Wheels
    4. Scoring System
    5. Strategy
    6. CAD
    7. Coding
      1. Autonomous
      2. TeleOp
  3. Team Plan
    1. Business
    2. Outreach
    3. Team Sustainability
  4. Program Plan
    1. Home Comp
    2. Classes
  5. Coaches
    1. Mr. Bucur
    2. Ms. Holman
  6. Outreach partners
    1. Siena Youth Center
    2. Bit by Bit Coding
    3. Robotics for All
    4. Sacred Heart Lower Middle School (LMS)

1. Team Information

1.1 Team Summary

Team Ruth Gator Binsburg (RGB) (16887) is one of the four Sacred Heart Preparatory (SHP) Atherton teams. We have 7 members this year. Our team has a diverse mix of ages and experience levels. 

This year our team is trying out a new structure. Unlike previous years, we will not have one team captain. Instead, progress is driven by everyone. Our team has two major parts: hardware and software. 

1.2 Member Information

Aarav

Aarav is one of our lead coders. He is a senior and is in his second  year of FTC. He is always helping his teammates and using his experience to lead them. Aarav ensures that all team members are involved. Outside of robotics, he is the varsity tennis team captain and loves to read.

Kelly

Kelly is one of the lead coders. She is a sophomore and joined FTC last year. She is constantly in the robotics lab working on code and supporting her teammates. She keeps the team organized and ensures that everyone has a role. 

Andy

Andy is one of our lead builders. Although he is only a sophomore, he has worked hard to become an experienced FTC member. Outside of school he enjoys photography.

Wilson

Wilson is one of our builders. He is a freshman and has experience from our middle school FTC program. Wilson is frequently in the lab contributing and plays on our school soccer team.

Katherine

Katherine is a freshman with experience from our middle school robotics program. She works diligently to solve every coding challenge that she comes across. Outside of robotics she enjoys math competitions and playing the violin.  

Joshua

Joshua is one of our builders and a freshman. This is his first year of FTC and he has learned a lot this season. Outside of robotics, he enjoys playing tennis.

1.3 Outreach

Sacred Heart Preparatory Robotics, which includes four other teams, also works with organizations like BitbyBit Coding, Robotics for all, and Launch Coders. Students are able to share their passion for coding by teaching younger students. The classes are all conducted in a virtual environment, but that does not stop the energy team members have for spreading their knowledge. (See Section 5 - Outreach Partners)

2. Engineering Content

2.1 Designing

After viewing the initial FTC Livestream, we immediately began our design process. We sketched out multiple rudimentary designs, mostly focusing on our intake systems and our movement system. We also had each member of the team sketch design ideas so that everyone could be involved in the process and we could hear a variety of perspectives. Our initial designs consisted of a few unique components which we had never worked with before, namely a scissor lift, and a claw. We took the inspiration for the claw from a garbage truck, using rubber bands for tension and flexibility that would allow us to pick up the cone anywhere.

For scissor lifts, we had 3 initial designs. There are single hinge, double hinge, and braided scissor lifts. We chose the braided scissor lift because it is more sturdy and accurate when connected twice to the base in comparison to the double hinge which lacks accuracy, and the single hinge which lacks stability. In the first design of our scissor lift, we were able to make a functioning mechanism that was able to move up and done very efficiently, but when we tested the scissor lift by mourning it with one pivot point, and a motor attached to the other end, we found that the torque required to push the scissor lift from its resting state was larger than even what the high torque motor could provide us. This meant we had to place an actuator to lift up the scissor lift to a manageable starting height, and from there we could use the motor to move the scissor lift up and down. However, this was too inefficient at opening the scissor lift,  so we tried using a linear slide which we found was much faster.

LINEAR SLIDE

In the initial state of the bot we began with a c-channel linear slide run by a 560rpm gobuilda motor. After extensive deliberation with the team we decided to invest in a viper slide. By replacing the linear slide, we were able to reach the highest pole. Due to the unconventional design of the linear slide, we also had to adopt an unorthodox mounting method for the linear slide. 

2.2 Body

We put the linear slide on the side of the bot to maximize our efficiency of cone picking. When we are cycling during teleop, we dont have to rotate the bot to pick up the cones, and we can just strafe to pick up the cones instead. By keeping the bot in the same orientation, we doubled the amount of cones we were able to 

2.3 Wheels

For wheels, we started with mecanum wheels, and all four motors were mounted horizontally eliminating the need for gears. We initially had some problems on the software side with the front and back movement not working properly, but after tinkering with the values that we set each motor to, we realized that because of our four horizontal orientation, that two of the motors had to be reversed. We then decided to utilize a field oriented driving system, in which pushing up on the joystick always makes the robot move forward, regardless of which way the robot turned. In a competition that requires so much precision for driving through poles, we decided that this driving system would be most efficient and easiest to understand and navigation for our drivers. 

2.4 Scoring System

Our team looked at many different intake/outtake systems. We considered a typical claw controlled by servos or a more unique system which picks up cones from the top, but ultimately decided the claw would give us more precision when picking up cones and dropping them on poles. We also attached rubber bands to the inside of the claw to increase the coefficient of friction between the claw and the cone, ensuring a cone almost never falls out of the claw.

2.5 Strategy

When determining our strategy for this year’s challenge, our team decided adaptability was extremely important. Adaptability would allow both teams to play to their relative strengths.  After looking at the points breakdown, we were initially excited about the potential of a circuit because of the extra points we would get from creating the circuit, the cones on the junctions, and owning up to 8 or 9 junctions. After testing how long it would take to create a circuit with a fully functional robot, we decided that cycling cones to the high poles while our alliance partner focuses on circuits would be most optimal, as we can nearly guarantee 18-20 cones stacked on the high junction. Although this is our preferred game strategy, going back to our central mission of adaptability, our robot is made in such a way that we can work with any type of alliance partner whether that means working together to make a circuit, or placing defensive cones on the opponent's side ground junctions to limit their movement. 

2.6 CAD

For my mechanical claw design, I began by measuring the plastic cones that I needed to pick up. I used these measurements to create a curve in CAD that would fit the shape of the cone perfectly. I then extruded this curve to create the claw shape. Once I had the claw designed in CAD, I 3D printed it using PLA material to ensure that it was structurally sound. I made sure to test the claw multiple times to ensure that it was able to pick up the cones without breaking or deforming. Overall, the design process for the mechanical claw was successful and the final product was able to effectively pick up the plastic cones.

In addition to designing the mechanical claw, I also designed a set of gears specifically for use with the Gobuilda building system. I used CAD to create gears with a radius that perfectly fit across three Gobuilda holes. These gears worked much better than the original Gobuilda gears for some reason, and I believe it was due to the precise radius that I was able to achieve in my design. Like the mechanical claw, I 3D printed these gears using PLA material to ensure structural integrity. The design process for these gears was similar to that of the claw, and I also tested them multiple times to ensure that they worked effectively. Overall, I was very pleased with the performance of these custom gears and they were a valuable addition to the claw system.

2.7 Coding

Autonomous:

The goal of our autonomous drive is to accurately detect the signal sleeve, and park. We used RoadRunner, a Java library, that allows us to easily create paths and trajectories for our robot to follow in the autonomous period.

Our team decided that making our own signal sleeve was worth it, so we created a sleeve that implemented AprilTags. AprilTags are similar to QR codes and easy for computer vision to detect. Using OpenCV, we can detect the AprilTag and use the tag number that is returned to determine the parking location. Once the robot knows the AprilTag number, it uses a RoadRunner path to accurately move to the correct parking spot. Tuning RoadRunner is essential to its accuracy. It is time consuming, as there are a lot of variables, however, after it is tuned, it is very consistent. 

We plan out paths for all of our autos on paper first to ensure the most efficient and effective autonomous period. Our first auto is a simple parking auto that has a very high success rate, so if anything goes wrong with our more complex autos, we have a backup plan. Our current auto is a one cone auto. We use a preloaded cone and deliver it to a high junction and park. If the cone fails to deliver, our robot is still capable of parking, ensuring that we still gain the valuable parking points.

Our next plan is to have a two cone auto. It would deliver the preloaded cone and one cone from the stack to a high junction. We are currently figuring out better paths for our auto to avoid colliding with other robots placing cones on the high junctions in the middle.

TeleOp:

We wrote a command-based TeleOp that is easier to use and more efficient. We create commands for various actions, such as delegating the linear slide to the ArmSubystem which is utilized in the MoveArmCommand, or delegating the claw to the ClawSubsystem which is utilized in the DropCargoCommand. Then using the custom Finite State Machine we created with our own SHPLib, with just the press of the A button, the robot will perform a set of predetermined actions based on the previous state. 

For example, once the TeleOp period starts, when pressing ‘A’ the robot will pick up the cone, then raise the linear slide to the high pole position, after driving up and aligning the robot, when pressing ‘A’ again, the claw will open releasing the cone, and retract the linear slide to the bottom position where it is ready to pick up a cone again. With just the use of one button, we are able to consistently cycle all 20 human player cones on to high poles, or any other pole height in accordance with our pre-planned alliance game strategy. We have also significantly capped the max speed of our robot for the purpose of precision when driving and aligning with a pole, but have implemented a boost button that temporarily increases our max speed when we are trying to race across the field to place a defensively strategic cone on a ground junction. 

Because all of our linear slide commands are based on a pre-set position, we were initially struggling to figure out who to approach the cone stacks, but eventually decided to have an incrementing encoder value that decreased when a cone from the stack was picked up. For example, if the encoder value is 1000 when picking up the 5th cone from the stack, once that action is completed, the state will change to hold a value of 800 corresponding with the 4th cone in the stack and so on. 

3. Team Plan

3.1 Business

Our team, as well as the robotics club at our school as a whole, is very fortunate in terms of funding support. The school is very supportive of both robotics and our other STEM programs and recognizes the importance of instilling these skills in our students. As a result, we have received significant funding as well as lab space inside and outside of our school. For the most part, we are able to procure whatever machinery/supplies that are necessary, within reason. This allows us to participate at a high level at competition. The business team of SHP Robotics plans to financially support our team’s FIRST robots and other projects, educate our members using the latest technology available within our budget and serve our community by hosting STEM activities such as an outreach program that we currently provide at a local youth center. The goals of our strategic plan are to fundraise as much money as possible so we can pay for team travel, registration fees, and all other expenses, while having leftover money to serve our community through meaningful interactions that promote STEM and solve problems with our innovative ideas. While we do receive a large amount of support from our school and the more involved parents, we also pursue our own independent fundraising projects. These are led and managed by our own business division, with as little reliance on our adult mentors as possible. 

Members of our strategic team reach out to parent, local, and company sponsors via meetings and email to tell potential investors about the success of our team and what we can accomplish with financial assistance. For their investment, we offer sponsors an opportunity to meet and connect with our team, a tour of our makerspace, explanations of our robots and other projects, and prime spots for their logos/ names on our robot, website and competition merchandise. 

This year, we have secured sponsors for smaller local businesses like the Xie Foundation and Orthoworks as well as some larger companies like Thumbtacks to fund our parts orders, food, travel costs and general robotics maintenance. Our fundraising process generally consists of two main steps. First, our business leaders send out emails to potential sponsors and team parents encouraging them to donate to our team, usually towards the purpose of procuring a certain piece of equipment. We believe that transparency is very important, and that everyone who is generous enough to donate should know exactly where their money is going. This ties in directly to our second step, which is offering tours of our facilities and meetings with the team for any sponsors who wish to attend. While these tours are led by business team members, financial partners have the chance to meet the rest of our team and explore our facilities. It is our goal to give our sponsors as much information as possible, as they are investing in our team’s future and providing us the resources we need to continue to grow.

3.2 Outreach

It was important for us to have all our members participate in outreach activities so that we make a positive impact on our community. To do this, we have directly partnered with three different organizations that search to teach under-privileged children STEM. This year, the robotics team is hoping to get every member involved in outreach and is doing so by partnering with nonprofits organizations Robotics for All, Bit By Bit Coding, and Launch Coders. 

Our guiding principle with regards to outreach is to serve at the local, state, and national level. During a typical academic year, we host courses on our campus for students from the local Siena Youth Center, teaching them basic engineering and code concepts that get them excited about STEM-based career paths. We also do occasional work with the East Palo Alto Boys and Girls Club, often bringing old competition robots and code demos for Curieus-sponsored TechFairs. On a larger scale, we heavily encourage our volunteers to work with our partner organizations, who now, due to the pandemic, host online courses.  Because of the virtual option, students have had the opportunity to participate in community service activities at their pace and on a more flexible schedule. The flexibility they offered allowed students with sports commitments to volunteer and still have the time to focus on their other activities has resulted in more students on our team participating in service in some form this year. 

Lastly, being located in the heart of Silicon Valley, our team does a lot of work with companies and mentors from the tech industry to expose our own members to STEM careers and workplace environments. Using our parental connections as well as reaching out to local companies, we have had guest speakers, one-day mentors, and lab tours from various experts and companies over the years. Though we have not done much work with this kind of outreach this year due to limitations of the pandemic, we plan to continue as soon as it is safe to proceed.

Because our team comes from a background of financial privilege, we feel a great responsibility to give back to our community that enriches not only the lives of those we serve, but contributes to building a more diverse community of STEM leaders from our generation. We want to be able to give the opportunities and exposure to STEM that we have had to those without that same experience, a guiding principle of not only our team, but our robotics program as a whole.

3.3 Team Sustainability

As a team, community bonding is very important. One of our goals, both in the long and short term, is that we plan to have team bonding and other engaging activities. Although we attend the same school, there are many students at Sacred Heart Preparatory, and, especially in light of the pandemic, many of us had not met before joining the robotics team. By cementing a positive team environment through friendships, not only will we be able to work efficiently short term, but we will also make lasting relations that will carry us through our four years in high school.

One of the features that makes the RGB special is that we have a variety of ages, grades, and experiences on our team. The more experienced upperclassmen can teach the younger, inexperienced members to learn. Knowledge of how to build something will stay with the members and help them grow into experienced builders, coders, and CADers. As the current underclassmen become upperclassmen, they can then teach newcomers on the process of creating a robot. In terms of new members, since team 16887 is part of a school, new students interested in robotics will join every year through all school emails, club fairs, and other opportunities to recruit new members. We can maintain the legacy of the RGB. From there, we divide the students across our teams and projects, which is why it is important that the underclassmen gain experience and understanding now. Once the teams are recreated year by year, the number stays the same while the members change, so the process of teaching keeps being handed down. 

4. Program Plan

4.1 Home Comp

Last year, our robotics organization started hosting an internal competition between our middle school and high school FTC teams. We hold Home Comp before our teams go to official competitions so that new and old members can adjust to the competition format and practice in a competition environment. We invite all robotics families and supporters to watch to promote the robotics program and share our progress. 

Home Comp is the highlight of many peoples’ season. It is where screws fall out, batteries disconnect, and robots fall apart, but it is an essential part of our learning process which we encourage with the famed Dumpster Fire award. This year, the dumpster fire award went to a middle school team who’s linear slide fell off in qualifiers, but was still able to win the competition. They showcased the spirit of the dumpster fire, by coming back from failures. 

One of the goals of Home Comp is familiarizing people with the competition formant, especially the middle school teams. For Home Comp we created a condensed format of a full competition. We start with solo qualifiers to determine ranking for brackets. We pair every middle school with a high school team to connect the two parts of our school together. This also allows high schoolers to guide the middle schoolers through the competition. 

We use Home Comp to showcase our progress to our supporters. We invite all families and many faculty and staff to watch Home Comp and learn about our robotics program. Our adults do so much to support us and Home Comp is an easy way for them to see our achievements. We hope to also host an end of season Home Comp to display our improvement and promote the robotics program to more people.

4.2 Classes

Through the SHP Robotics program, we host a set of after classes available to all members of the Sacred Heart Community all the way from the Lower School to the High School. Our two main classes are a software and hardware class. In the software class, we begin by introducing the basics of Java with basic loops and conditionals. We then build to more advanced concepts like finite state machines, enums, and other industry standard algorithms like our PiD and FeedForward controllers, finally ending in a comprehensive course on our proprietary SHP FTC Library (SHPLib) that we have created this year to model our FTC code after the command based system FRC utilizes. Our hardware class also begins with a basic intro into hardware safety principle and essential tools for any building process, but then takes a deep dive into core FTC skills like rigging linear slides and creating drive bases. In the coming year, we hope to offer CAD classes and notebook classes that are more FTC focused. While the content of each of our classes differs, we follow the same guiding principle of having our experienced upperclassmen teach, while having newer members learn through hands-on experiences.

5. Coaches

Mr. Bucur

Mr. Bucur is the lead coach for team 16887, and as such is the most involved in the build process from a mentorship perspective. In addition to offering insights and advice about the construction of the robot, Mr. Bucur also keeps the lab open for long hours to allow ample time for hardware and software work.

Ms. Holman

Ms. Holman is the lead software mentor for team 16887. She is very helpful in making sure robotics runs smoothly and endures us. Ms. Holman also makes sure that everyone is accounted for and that we are on task.  

6. Outreach partners

Siena Youth Center

SYC is SHP Robotics’ oldest service partner, with an outreach relationship dating back to at least 2017. Prior to COVID-19, robotics students visited SYC in person to teach basic robotics classes with Lego Mindstorms systems, and also invited students to visit the lab at SHP campus to learn about the FTC and FRC robots. While this program was temporarily suspended during the 2020 season, robotics students have returned in a limited capacity in 2021, and plan to expand this involvement in 2022.

Bit by Bit Coding

During the COVID-19 pandemic, the robotics program looked to uphold its commitment to STEM-related service virtually, by onboarding service partners that robotics students could work with remotely. Bit by Bit was the first of these service partners, and currently involves the largest number of robotics students.

Bit by Bit is a mostly-virtual STEM-education nonprofit that focuses on providing technological/coding education to historically underrepresented students. SHP students have worked in a variety of capacities with Bit by Bit, both as educators and as support for BxB’s various programs.

Robotics for All

Robotics for All is the second service partner added during the COVID-19 pandemic, and is a locally-based STEM and robotics education nonprofit based proximate to Sacred Heart. While its charter is similar to Bit by Bit, Robotics for All offers more hands-on experience for students, who serve as teachers’ assistants (TAs) and teachers for coding classes. 

In addition to virtual classes, the team hopes to expand our relationship with Robotics for All in the future by offering on-campus shadowing opportunities for students interested in robotics. 

Sacred Heart Lower Middle School (LMS)

As well as working with external service partners, the SHP Robotics team also works with the associated Lower Middle School (LMS) to offer mentorship, advice, and practice opportunities. The LMS is home to three FTC teams, both of which are 7th and 8th grade students.


Last update: June 5, 2023
Created: June 5, 2023