Day 4 (1/09/2018)


Prototypes will be decided on next Tuesday during the team meeting. During this meeting, the leads of each prototype will go over their designs and do demonstrations of working prototypes. The team will then vote for the subsystems they like. After the team has voted the build leads will discuss the prototypes and make the decision based on how all the designs will work together. The drivetrain might be sent out around the time we finalize the prototypes going on the frame; however, discussions of sending in the frame on Friday are still floating around. At the build leads meeting, we will be discussing whether or not the active will be over the bumper or through the bumper. We will start CADding the prototypes that are decided on as well as any prototypes that are ready to be CADed. After we decide on prototypes we will be able to start building and CADding different parts of the prototypes. Also, PLEASE SEND POORVA PICTURES, IF YOU DO NOT SEND A PICTURE, IT CANNOT BE DOCUMENTED.

Active Intake

For today no major work was done on the active intake. It is still the same as yesterday with the pivoting except just a few rubber hard stops was added to prevent it from bending too far when it goes down. Today we were using CAD to create parts for the active, making it a little more efficient and less bulky by changing some of the angles and lengths of the bars in the front part of the design. 


These not yet specified changes will allow for less weight to have to be pivoted meaning that when picking up blocks or suddenly having to pull up the active, the robot can do that with relative ease and speed. We have some concerns with the way the robot might work since right now this system is quite heavy and the elevator will be significantly slower if it was attached to the lift system, but if there was another subsystem added to pull the power cube out of the active, this will slow down the picking up of blocks and also 

this system may not be strong enough to pull the cube out of the grip of the strong rubber wheels. We have ordered green compliant wheels that very effectively grab and hold the cube which is great for pulling in the cubes but is going to be incredibly difficult if there is another subsystem that has to yank it out.


Today we finished all stages of the elevator. The elevator will allow blocks to be raised up to the scale, and may potentially act as a climber. In its current state, it is able to reach up around 90 inches. The video below is a prototype test of just one stage. Additionally, some freshmen started to work on a claw inside the elevator to manipulate the cube.

*Picture for this prototype version will be available at a future date.*


Other lift prototypes:

This is another prototype for a lift that is being worked on in the room. It takes the elements of the lift and also adds a little bit of what seems to be an extension to make the arm go up instead of using a lift mechanism.




A portion of the team has been working on a climber. The main idea behind this climber is to have a detachable claw that will grab onto the bar and use a winch to
lift the robot up. The hook that has been inspired by a logging hook. It is like two hooks that nestle together. The hooks can only be pushed apart from the top. This allows the hook to grab onto the bar and not let go of the bar. This hook is delivered by a spring-loaded arm. The hook detaches from the arm as well. The arm is what is currently being adjusted. The plan for tomorrow is to make improvements to arm spring.

Other prototypes

Another candidate for the apparatus we will be using to grab the power cubes is, simply put, arms that close in on the power cubes. Two pneumatic powered arms are attached   “arms” that are fastened perpendicularly to the pneumatic cylinders. These arms will be fastened to opposing sides of the robot, and when activated, will close together. The arms will effectively grab power cubes between them so that they may be lifted to be placed on either the switch, scale, or within the vault. While this design is unable to grab cubes that are at an angle to the robot, it does have the advantage of being simple.

Programming/Pure Pursuit

Programmers started working on Pure Pursuit a couple days ago. We primarily focused our effort on it today. Seeing the robot slowly move from stand-still to making unpredictable jolts to the more controlled movement has been very exciting. Even though we are way ahead of schedule (good job!), debugging Pure Pursuit can seem like a slow task. However, with each nail down in fixing the unexpected, we are approaching our goal.


Today, there was a CAD meeting. This was a very important CAD meeting as we discussed when we were going to send drawings of the drivetrain to CEM to get it machined. The general consensus at the meeting was that the drawings should be sent after prototypes are finalized in the event that one of the prototypes requires the drivetrain to be resized. However, given the estimated return time of 1-2 weeks, it is still debated whether this is a good idea. Additionally, the deadline for subsystem CADs was discussed and set for January 22nd. However, due to the long return time, ideas of an earlier deadline are still floating around.



Day 3 (1/08/2018)

Plan for Today:

Today is going to be a continuation of yesterday, with prototyping subsystems and implementing new design changes to improve quality. Our goal is to have a vote on final prototypes sometime next week. Although this is actually a little earlier than in previous years, we may be better off with designs this year since there has been enormous progress on all three subsystems over only the last few days; even better, 2/3 of the subsystems have multiple different designs for prototypes. On the programming side, the 2018 code update had been released with the kit of parts on Saturday, and currently is able to run last year’s code on last year’s robot. This is a great achievement so that we may avoid the huge issues we had with the update last year at one of our competitions. This also allows them to start experimenting with the code and figuring out possible strategies and methods of execution for the autonomous programs. Lastly, another reminder to please send photos and videos to Poorva! (you can find her number/email in the weekly emails!) 

Active Intake

Today we continued working on our prototype for the active intake. Today, we tried to use pneumatic cylinders to pivot the entire active 90 degrees to ensure that it can start within the frame perimeter. We used two heavy duty bronze cylinders (which was not ideal since we wanted a cylinder that had a stroke length of around 3 inches and the cylinder we used was about 8-9 inches).


Nonetheless, this was still a prototype, so we made do with the ones we have currently and incorporated them into the design. Additionally, we took measurements to begin CADding: the process of making a 3D model of the system to be able to possibly machine it in the future and see it in a way where it will be closer to the final. The prototype is a proof of concept. The actual will use different materials that we are willing to make special for the robot. As we designed the system, we found some limitations. When we CAD the active intake, we can work around these limitations for the final design.


We continued work on our prototype that we started yesterday. Today we finished adding the support bars/building the frame of the elevator. We also made considerable progress on the carriage that goes inside the elevator. We decided on having the carriage be 15 inches wide, and have the next stages of the elevator after that, for a total width of 19 inches. Tomorrow we will finish up other parts of the slide, such as hard stops, and start working on the pulley/rope system.



Design one: The heart-shaped hook at the top acts like a clip for the bar, so once the robot pushes through the divet in the hook, it will not come off the bar until someone takes it off. There are springs and pieces of surgical tubing to increase speed and strength using the tension of the stretch both when the climber goes up, and when it latches on.


Design two: Of the many prototypes being built and tested, one of these features two pneumatic-powered arms. These arms would close in from either side, effectively trapping power cubes between them. This grabbing mechanism may work together with one of the current prototypes for a lift mechanism to enable us to raise the power cubes onto the switch and scale. Another way that this particular grabbing method may prove useful, is the variability of the attachment to the chassis. Because there is no part that requires rigidity, it could be fixed to a mobile arm that could lift the cube to the desired height, or one of many potential pre-programmed heights.


Video Link to Climber :


Today, programmers worked on making Pure Pursuit runnable on Herschel (2017 practice robot) work. We got up to the point in making the robot drive straight, however some input seems to be inverted from what the robot expects; the robot turns in the opposite direction. To fix this issue, we are working on a JavaFX widget for ShuffleBoard. Once completed, this will show us an accurate representation of what the robot is “thinking”. This will most likely look somewhat similar to the already working simulation, but will use data from a robot in real-time.  


Today, the CAD Lead enlisted another fellow team member to CAD in the wheels, drivetrain CIMs, and 2-speed gearbox. We are using 1” thick 6” diameter traction wheels from vex with the traction tire. Not much else happened in relation to the robot CAD, as every other part of the robot is still in the prototyping phase. Our next goal is to have people review the robot CAD so drawings can be sent to our sponsor CEM, who can use their magical CNC to accurately make the thing we want.

Day 2 (1/07/2018)


Today, we started designing and building prototypes. There are a lot of really cool ideas. If you have ideas that aren’t being made right now, you can come to open room, get a few people together, and start building it. If you are building a prototype, PLEASE SEND A PICTURE OF IT TO POORVA. Additionally, always remember to SIGN IN AND OUT EVERYDAY. If you don’t sign in or out, you won’t get credit for the hours that day, and in order to letter, you need to have a certain number of hours in the room. Today we got a brand new Drill Press donated by CEM. It is a lot bigger and stronger than our last one. Due to the size of this new drill press (it towers over most people when it sits on the counter), there are going to be some new safety rules that will need to be followed when using this tool. There will be an email sent out containing all the safety rules. We also talked about the use of retaining rings instead of shaft collars. We will probably look into this when designing subsystems in CAD.

image_uploaded_from_ios_720 (1)

Active Intake

A portion of our team started to work on a way to pick up the power cubes. The team looked at modeling the intake of robots from 2015 which also involved picking up square-shaped objects. One member found the video: of simbotics intake and the team decided to look into how to make it. This intake was chosen because it actively pulls the blocks in and it does not require actuating the claw portion of the design. The team started modeling a design very similar to this using 80/20. The design is mostly finished (see attached video) except the team has not made a pivot to make it be a completely over the bumper design. The design works really well and can intake the blocks from many directions. The only issue with the design is that the 80/20 loosens but that will be fixed by making a more accurate model. The team hasn’t decided what will be happening tomorrow but it will be some kind of testing with improvements and adjusting how the design moves. We will also begin the process of CADing the design.


Heres a video showing our prototype in action!


Today we started working on our first lifter prototype. Essentially, this will be an elevator, very similar to 1114 and 254’s robot from 2011, Logomotion. For prototype purposes, we 3D printed our own bearing blocks before today started, so we were ready to go.

image_uploaded_from_ios_720 (3)

We achieved putting together the basic parts of the slide components. All bearing blocks were mounted to the “2 by 1” aluminum tubing and c-channel. Tomorrow our goals are to put together the two slide pieces and start work on the carriage.


Since we have multiple people working on each of the other subsystems, we also had a group that worked on creating a climber to hang on the metal bar on the scale at the end of the match. This climber uses principles of climbers from 2016’s game since the round metal bar on the scale is essentially an almost exact copy of the bar from the game two years ago.


The heart shaped hook at the top acts like a clip for the bar, so once the robot pushes through the divet in the hook, it will not come off the bar until someone takes it off. There are springs and pieces of surgical tubing to increase speed and strength using the tension of the stretch both when the climber goes up, and when it latches on.


Today programmers were very productive and worked primarily on migrating code from UpdatedRobotCode2017 to RobotCode2018. We are already at 76 commits and are starting the season strong. Prime examples of migrated features were auto-shifting and the many drivetrain components. We also worked on some new features. Autonomous is very important, so there is a lot of possible work that can be put into this. We started out by planning how the robot would maneuver based on starting game configurations. There are 4 (RR,LL,RL,LR) scale-elevator configurations and 3 (L,C,R) robot configurations. This will make us have 4\cdot3=12 total configurations to have to worry about. Navigation on the desired trail is made easier by the Pure Pursuit algorithm. All code in the simulation used to help develop Pure Pursuit has been ported over to RobotCode2018. However, it has yet to be properly tested on a tangible robot.

Pure Pursuit

PurePursuit is a common way for robots to go between multiple waypoints in a smooth path by traveling on arcs of circles connecting goal points to the robots current position. There is a working simulation made for Tank Drive, and an example video demonstrates it in a real environment. Along with several others, a large challenge with Pure Pursuit is maintaining optimal velocity and acceleration, such as to be kinematically possible for the robot to keep on the required path. This will continue to be a large area of learning for the programmers. If you are more interested in contributing to Pure Pursuit or knowing how it works, a useful list of resources are as follows:

Additionally, edX has a course on Robotics: Fundamentals which explains a lot of maths related to Pure Pursuit and developing an awesome robot.



Today, the CAD lead began work on designing the 2018 robot frame in Solidworks. There are several design decisions that he made that you, dear reader, should consider making in the design of your own robot frame. Tomorrow, the CAD Lead wants to get some other team members to insert the 6” Vex Traction wheels, 2-speed gearbox, and 4 CIM motors into the CAD.


Notable Design Decisions

  1. Notice how the back bar runs the entire length of the frame, rather than being in between the sidebars. This guarantees that if the robot rams into a wall really hard, the sides will not pop off.
  2. Notice how the center bearing hole is “dropped” relative to the center of the bar.  If you have a 6 wheel tank drive, and don’t drop the center, your robot will not turn smoothly. Additionally, it will make funny noises when turning. Therefore, if you want a good robot, you should drop the center wheel on your 6 wheel tank drive.
  3. Notice how the other 2 bearing holes are slightly offset from the constant pattern created by the middle 0.5” holes. The distance from the 2 bearing holes and the center bearing hole was calculated such that the chain will be tensioned properly when wrapped around the sprockets. He used 2 different equations; one was from Chief Delphi, while the other was provided by a captain.

How to Calculate the Number of Chain Links Needed

When designing something with sprockets, one must keep in mind that you can only have whole chain links, and that half links are extra work. If your chain is loose, it is prone to slipping. It pays to place your sprockets such that a nearly whole number of chain links are required such that the chain is nice and tight. Below are some methods of calculating the number of chain links needed between 2 sprockets. Be warned that if Cis odd, you will require a half link.

Cool Kids Method (Travis’s Method)

\frac{C}{2}= (d+\frac{c_\text{pitch}}{2}) \cdot \frac{8}{3}

In this equation, C is the number of #35 pitch links you will need, d is the center-to-center distance between the sprockets, and c is the pitch circumference (calculated from the pitch diameter) of both sprockets.

Chief Delphi Method

C=\frac{2E_4}{E_1} + \frac{E_2}{2} + \frac{E_3}{2} + \frac{\left(\frac{E_2-E_3}{2\pi}\right)}{\frac{d}{E_1}}

In this equation, C is the number of chain links you will need, E_1 is the chain pitch in inches (for #35, it is 0.375 inches),E_2 is the number of teeth on one sprocket, E_3 is the number of teeth on the other sprocket, and d is the center-to-center distance between the sprockets.

Day 1 (1/06/2018) Kickoff

Kickoff Overview

The game was released today! Everyone watched the game reveal. Then, the team all read the game manual . EVERYONE SHOULD READ THE GAME MANUAL (especially chapters 2, 3 and 4) so that you know what is going on and what the rules are. After everyone read the manual, the team got into groups and talked about what we should do and how we should do it. A group of people taped down the entire field so we could see what all the spaces are and how big everything is. After that, we had a strategy meeting and a drivetrain meeting.

Strategy Meeting

A strategy meeting was held this evening to go over what aspects of the challenge we should focus on overcoming and what our robot should be able to do. We ranked possible tasks from highest to lowest. The team decided that the most important thing to do is to create an active intake in order to move the power cubes to the scale, switch, and vault. We then decided that having an autonomous that can successfully place a power block onto our alliances’ side of the switch to obtain the rank point would be second, followed by having a climbing mechanism, a scale auto, and a two-block auto.

Drivetrain Meeting

In the drivetrain meeting, team members discussed the different available drivetrain options. The team decided on a six-wheel drop center tank drive. The team chose to use 6” vex traction wheels in order to have clearance to get over the center bump. The team then moved onto choosing a 1-speed or 2-speed gearbox, ultimately deciding that a 2 speed would be easy to install, fast, and provide sufficient pushing power. After accounting for weight, the chosen gearbox had a low speed of about 7 ft/sec and a high speed of about 14 ft/sec. The team also discussed the feasibility of putting a sprocket in the gearbox to have the chain within the robot. This part was out of stock, so the team discussed what it would take to modify a gearbox to be able to do this.   

New 2018 Software Changes

The new 2018 FRC season has brought many new software changes. The most notable among these are the new changes to the CTRE libraries and the creation of Shuffleboard, an objectively better yet backwards-compatible upgrade to SmartDashboard. A complete list of changes can be found here.

CTRE Changes

The 2018 FRC season has resulted in an overhaul of the CTRE libraries. According to Omar Zrien on Chief Delphi, this overhaul of the CTRE libraries was necessary as “after three seasons of development the CANTalon driver had become a hodgepodge of software.” This overhaul involves the removal of CAN device functionality from the roboRIO webdash, the replacement of the CANTalon class with the WPI_TalonSRX class, and an overhaul of the TalonSRX API. The process of porting over our automatic shifting system and encoder settings will pose a daunting task for our programming team.


Shuffleboard is a new replacement for old SmartDashboard. Whether in design or functionality, it vastly surpasses SmartDashboard. Additionally, there was a new update to NetworkTables, the “backend” for both SmartDashboard and ShuffleBoard. Many major annoyances, such as phantom keys — where logged data persisted after robot (or driver station!) restart — have been fixed. This includes overlapping keys, where two keys obscured each other on the dashboard.