GoEngineer Community Involvement
At GoEngineer we’re always looking for ways to get the local community involved with the technology we offer. Many of our events are aimed at professionals. However, we also look for opportunities to involve the next generation of engineers. One of our more popular series of events is the Kids’ Camp that runs each summer. This is a time when middle and high school students come in for a day of learning about SOLIDWORKS and 3D Printing. Another way we’re involving these future engineers is by supporting local robotics teams. This is something I’m very involved in.
This is now my 7th season with the Fremont High Robotics Team as their Mechanical Engineering Mentor and this was our most ambitious robot to date. This year’s game is called FIRST Power Up and is themed around retro video games. Here is a video giving the general rundown of the rules.
Let the game begin!
The game is announced in early January and then teams from around the world have about 6.5 weeks to design, build and hopefully practice with a robot. At the end of the 6.5 weeks, you must place the robot in a large plastic bag and seal it with a serialized zip tie. You aren’t allowed to touch it again until you arrive at the competition where a game official cuts the zip tie off. If you have enough resources (time being the most precious) you can build a second robot so that you can still practice driving and potentially debugging any issues that may come up before the competition.
So, what made this year’s robot so ambitious? We set out to design our robot to be able to do every aspect of the game. In years past we would generally focus on one or two parts of the game and try to get them to work as best as possible. However, with some much-needed tool upgrades, and our largest team ever, we decided to go for it all. We wanted to be able to place a cube in the exchange, on a switch and up on the scale. We also wanted to be able to do the climb at the end, and potentially even carry another robot up with us. Lastly, we wanted to be able to contribute to the autonomous more than just driving forward.
Movement in Any Direction
To allow for full mobility of our robot we decided to go with a mecanum drive. This style of drive base was first popularized with forklifts, but many robotics teams make use of them as well. One drawback to this style of drive base is that you sacrifice pushing power for the enhanced mobility. The SOLIDWORKS Belt/Chain tool was used to help determine the exact location of the wheels and their drive motors.
Grab and Deploy
The next decision that we needed to make was how we were going to grab and deploy the cubes. To grab the cube the students designed an intake that had two fingers with wheels on them. The fingers are actuated by a pneumatic cylinder to open and close them and on each finger is a motor that drives the wheels to help pull the cubes in. Being able to model up the intake in SOLIDWORKS to check for potential interferences and to make sure hole placements were correct helped prevent a lot of wasted time with bad designs.
Once a cube was picked up, we needed to decide how we were going to lift the cubes. The two main choices were a multistage elevator or an actuated arm. After much deliberation on the first couple days of build season, we decided to go with the elevator. Ultimately the students felt more comfortable with this design.
With the design direction in place, the students then needed to get the design into SOLIDWORKS. Initially, they were designing their own elevator from scratch, based on resources online. Then we came across a kit that provided all the brackets, bearings, and motors needed to build an elevator. We just needed to figure out the lengths of box tube to be used. Luckily CAD files were provided for the kit, so designing the full elevator was as simple as importing the brackets into SOLIDWORKS and creating a couple lengths of box tube.
Let’s Turn to FEA
The last system needed was our climber. This is probably where the most variation in design came. Many ideas and prototypes were created, both in SOLIDWORKS and real life. The design that we ultimately settled on was a winch system that would pull our robot up and a forklift-like attachment on our back that would drop down and allow another robot to drive on and join us in our climb. To ensure our fork was strong enough the students ran a quick FEA in SOLIDWORKS using the max allowable weight of a robot as their baseline.
Do we have time for a second robot?
With robot v1 designed, we got to building. We made extensive use of our new mill/drill as well as our new CNC router. Up until this season, most of our parts were all hand cut and drilled and that tended to contribute to much of the mechanical breakdown of past robots. While we didn’t stick to the schedule that we had originally laid out for ourselves, we still had enough time to build a second robot for the 4th year in a row.
Having the second robot is a must. Once the competition robot is bagged up, it allows the software team to refine their code (because we’re notoriously late handing the competition robot over to them during build season) and allows for the drive team to practice and find any mechanical or electrical bugs that don’t show up until the robot is driven. This paid dividends at both competitions, as our driver was one of the smoothest there and our autonomous code was the most complex and successful it has ever been.
The only thing left to do was compete. Our first competition was in Flagstaff, AZ on March 9th and 10th and we were one of 60 teams there. We had a bit of a scare with the brains of our robot being corrupt but with the help of a lot of people there, we were able to get the robot up and running just before our matches started. The first day and a half of competition are the qualifying matches. We performed quite well during these matches and ended that round of play as the 15th seed with a record of 7-2. Here’s one of our better matches where we were playing 2 on 3 as one of our alliance robots did not work properly.
We are team 3501 on the blue alliance.
After qualification rounds is alliance selections. The top 8 seeded teams pick their 3-team alliance, with the #1 seed picking first, working down to the 8th seed and then the 8th seed picking again and working back up to #1. With our success and consistency (this is key) in the qualification rounds, we ended up being the first pick of the 8th seed alliance. While it was great to be picked onto an alliance, as an 8th seed it meant we ran into the #1 seed in the first round. They quickly swept us in 2 matches in the best of 3 series. It was our team’s first time in the elimination rounds in a couple of years, so it was still a good win for us!
Room for Improvement
While we were competing in AZ we began to realize that we never really used the climber and that our robot’s biggest strength was manipulating the cubes. So, the team made the decision to remove the climber and improve our intake and elevator. However, the competition robot still needed to be sealed back in a bag, just like at the end of the build season. Luckily you get one day at the competition before matches start to work on your robot. You can bring up to 30lbs worth of premanufactured parts to be used on the robot and we were going to make good use of both.
Trial and Error
The two weeks between AZ and our next competition in Sacramento were spent designing and manufacturing a new intake. On pit day in Sacramento, the new intake was installed, and our autonomous code was revised. We were feeling good about our robot, but our consistency was a little lacking this time. In one match our elevator managed to come apart, luckily it was easily fixed, but it left us useless for most of one match. In another match, the controller used by our driver had a flaky connection and our robot shot forward on its own and got hung up on the scale.
These along with a couple smaller instances are most likely led to us not being picked on an alliance, even though we finished 20th out of 65 with a 6-2 record. We did go out on a high note though, our last match of qualifications was one of our most complete showings in both competitions. Our autonomous worked flawlessly and the rest of our gameplay was great as well.
Team 3501 in blue again.
This would normally be where our season ends. We didn’t win either of the competitions or a qualifying award to go to the World Championships. However, every year they invite a select number of teams to Champs from a wait list, and this year we got selected. So, some more improvements to the robot to help make it perform more consistently are in the works and we will be heading to Houston the week of April 17th to compete with and against teams from all over the world. If you’re going to be in Houston and want to see some awesome robots compete in person, come on down and look for team 3501, the Firebots.