Please help support our team! $40 buys a motor, $55 buys a new battery, $150 adds controllers and sensors, $500 pays tournament fees, $750 upgrades our chassis

Iron Reign

Welcome to Iron Reign at Dallas ISD's Science and Engineering Magnet

Iron Reign earns FTC World Championship Motivate Award

22 Apr 2018

Iron Reign earns FTC World Championship Motivate Award

Last week at the FIRST Tech Challenge (FTC) Robotics World Championship in Houston, Team 6832, Iron Reign, from the School of Science and Engineering in Dallas ISD earned the Motivate award which ranks them at the top in the outreach category.


Top Row: Justin Bonsell, Christian Saldana, Charlotte Leakey, Tycho Virani, Evan Daane, Austin Davis
Bottom: Janavi Chadha, Kenna Tanaka, Abhijit Bhattaru, Karina Lara and Ethan Helfman
coached by Karim Virani, Cathy Lux and Calvin Boykin

Each of the 5,200 active robotics teams this year is expected and encouraged to share their passion for robotics and all things Science, Technology, Engineering and Math (STEM) with younger students who haven't had the same opportunities. One hundred and twenty eight of these teams from around the world earned spots at this championship, including teams from the USA, Canada, Mexico, South America, the Middle East, the Pacific Rim and China. Iron Reign received this recognition for their work in creating, operating and sustaining the Mobile Tech eXPerience, an RV that they converted to a mobile STEM lab in order to support the work of Big Thought and the Dallas City of Learning Initiative.

On board the vehicle, students can learn to program one of sixteen sumo robots, design 3D objects and print them on one of the four 3D printers, learn to program in Scratch or create virtual worlds in Minecraft. The robotics team converted the vehicle and helped run the pilot program in summer 2016. This school year their goal has been to help Big Thought sustain the vehicle by continuing to support deployments, improve the curriculum and simply "make it loud." And now Big Thought is taking vehicle operations year-round. With this vehicle and accomplished instructors, Big Thought is bringing STEM exposure into under-served neighborhoods to help young students think of themselves as future engineers, scientists or technologists. This year alone the team has contributed 680 hours supporting 15 deployments of the vehicle to neighborhoods and large events. They've taught or spoken with over 3,400 students or parents at these events, and they've shared curriculum and the story of the vehicle nationwide by participating at the National Science Teachers Association STEM Expo.

This video will tell you more about the MXP from the perspective of the team members:

In the robot game the team finished 26 of 64 teams in their division, a good showing for a first-time Worlds team with a new young drive team. And Dr. Woodie Flowers, lead mentor of FIRST and Professor Emeritus at MIT signed and kissed our robot:

The team is fully appreciative of all of the support they've received this year. Special mention goes to Big Thought, Jeff Marx and Joe Schelanko of the Dallas ISD STEM Department, the SEM PTSA, the School of Science and Engineering staff and our advisor Calvin Boykin, Principal Andrew Palacios, Executive Director Tiffany Huitt and the tireless parents of all team members.

Please see the team website for more information. The team will be going to the UIL State Championship in Austin on May 18. Finally, here is our robot reveal:

School of Science and Engineering Freshman Orientation

26 Apr 2018

School of Science and Engineering Freshman Orientation By Austin and Shaggy

Task: Speak to 200 prospective recruits about Iron Reign

Today, we attended the Science and Engineering Magnet's annual freshman orientation. All prospective students are required to attend.

Since more than half of our team are going to graduating next year, we're already thinking about the 2019-2020 season. We want to start members early so we can ensure an effective transfer of knowledge between our rising juniors and new teammates. The best way to learn is through hands-on experience that this coming season could give them. This means that the recruiting season starts here and now.

We drove it through the crowd and spoke to over 20 families about our work in FTC, the robot, competition, and more. There were many kids who were very interested in FTC. We answered much more specific questions with them, like what the time commitment is, why we chose specific parts, etc. It was great to see such enthusiasm for STEM at such a young age! At one point, they started giving us building suggestions like where to add support bars.

Overall, the event was a big success. We made lots of meaningful connections with incoming students and have some prospective members. We look forward to attending next year and maybe welcoming some new teammates.

You can watch a short video of the event here

Finishing the Chassis

29 Apr 2018

Finishing the Chassis By Kenna and Janavi

Task: Build a Chassis

We have been working on this chassis for over 3+. In out last post, we had thought the wheels were ready to go. However, various parts, such as wheel mounts, had been put on backwards or were unusable so we had to do everything over again.
Now that the robot has wheels, we started on attaching the REV expansion hub and battery. The chassis is square, but has an asymmetrical structure of tetrix bars. Attaching the battery was the simple part since previous version of the robot had a 3D-printed battery holder that would be screwed on. There was no way to effectively place the expansion hub on the tetrix rails. Instead, we attached a thin plank of wood to two parallel bars, drilled a couple holes, and screwed the hub on.
Overall, it is a very no-frills chassis. We had to cut most of the side shields off because they were becoming more of an obstruction than an aid.

Next Steps

Though the physical robot has been built, it has no code. Both of us will be learning how to program a basic pushbot.

UIL 2018

18 May 2018

UIL 2018 By Abhi, Karina, Evan, Janavi, Austin, Justin, and Shaggy

Task: Attend the 2018 UIL Robotics Competition

Background

For those who don't know, UIL Robotics is the premier state robotics competition for Texas. Iron Reign has been a beta-testing partner since its inception, and this year was the event's first year as a full-fledged program.

To participate in UIL, a team must win at a Regional level, and have a good overall showing. This year, since we got 2nd Inspire at Regionals and 3rd Inspire at Oklahoma Regionals, we were a shoo-in for an invitation. Being a state event, the DISD STEM Dept. supported us through transportation, food, and lodging along with other DISD teams such as Mechanicats.

The Night Before

As with all Iron Reign tournaments, we stayed up way longer than we should have. But, unlike other times, we had a purpose: to help fellow teams.

We assisted the other DISD team, Mechanicats with programming and driver practice. In particular, they didn't have a working autonomous to begin with. But, with our half-field and glut of programmers, we helped them create a basic autonomous for the next day. As well, we collaborated on their TeleOp to make it more driver-friendly.

The Day Of

We walked into the tournament, tired, but excited for the last tournament of the season, led by our two robots, Kraken and C.A.R.T. BOT. Kraken is our Relic Recovery robot; a tank on wheels with specially cut aluminum sideplates and our proprietary REVolution system. So, it got plenty of looks. Then, we also brought the newest addition to the Iron Reign family: CART BOT. CART BOT is the automated corpse of our robot cart. For the past month, we've been tearing it down, replacing its wheels, motorizing it, adding a power source, and so much more. It tops out at 20 MPH and can carry 300 lbs. without blinking an eye. Naturally, we thought UIL was the perfect place to bring it out.

Since UIL is the last tournament of the season and has no real consequences, we use it as a trial field for next year's changes. First, we had Evan lead our pit crew team as practice for next year. As well, we used the competition to practice driving for next year as well as improve our scouting strategies after worlds.

One of the best things about UIL is the ability to really interact with other Texas-area teams that we normally wouldn't see until Supers. A lot of the teams came over to see our robot, which is kind of understandable because it's probably the best robot we'll ever build. But, we had a surprising number of teams come up to talk to us about our Engineering Journal, including people who had already seen our journal online and wanted to talk about it to us in person (Vitruvian Voltage).

Robot Performance

Even though we enjoy UIL, it's never our best competition of the year. Some of this is due to exhaustion; we tend to run out of steam by then, but it can also be attributed to that UIL is a robot-game intensive event, and Iron Reign tends to focus more on awards. So, we tend to comparatively underperform as compared to a theoretical Iron Reign stand in.

We started off the day in a bad place, as one of the chains on the robot snapped for the first time in the season. However, we still managed to win the match as we were carried by our partner. But, we managed to do decently in the next four matches. This wasn't entirely due to luck, it was just that we had more competition experience than some of the other teams due to Worlds, and were able to perform more effectively.

Luckily, our scouting paid off, and we were chosen as the first pick of the #1 alliance. We won our first final match, but then lost the next two due to unreliability.

The UIL Difference

Unlike FTC, UIL puts much less of an emphasis on judging. First, there aren't any presentations: everything is done at the pit. In addition, UIL judges are FRC first, and FTC second, so they weren't aware of many differences between the two. Finally, the awards mean nothing.

Next Steps

This was the last competition of the season, so now Iron Reign will go into Funding, Outreach, and Recruitment mode for a while for the next season, but keep track of our blog to see what we'll do next. Relic Recovery '17-'18, signing off.

Contacting Mark Cuban

23 May 2018

Contacting Mark Cuban By Abhi

Task: Get Funding from Mark Cuban

At the World Championship this year, Dean Kamen, the founder of FIRST, talked about getting celebrity involvement in the robotics program. Very few celebrities support FIRST (will.i.am being the biggest) and will.i.am. sent a request through Kamen to all teams to reach out to close by celebrities to get them involved in FIRST. As I sat in the crowd at Minute Maid Park, Kamen's words stuck with me on my journey home. I thought about how cool it would be to have celebrities support Iron Reign. However, I had no idea who to contact.

Still on the quest, I sat down to watch TV one day. As I scrolled through the channels, I found Shark Tank (one of my favorite shows). Then it hit me: I wanted Mark Cuban, a Dallas native, to support Iron Reign.

Mark Cuban, investor on Shark Tank and the owner of the Dallas Mavericks, has been very important to Dallas. I decided to reach out to him to see if he would be willing to support us. I asked people at school if anyone knew Cuban or knew people who knew him. Luckily, my friend's father went to the same gym as him! Through my friend (Amanda), I reached out to Cuban. I drafted an email which would be sent through Amanda to Cuban.

Next Steps:

Now all I can do is wait for a reply!

Response from Mark Cuban

24 May 2018

Response from Mark Cuban By Abhi

Task: Reply to Cuban

After sending a small email to Cuban, he replied very soon asking for more details (shown above)! With this, I felt more confident I could make things happen. In my following email, I provided more details explaining the FTC program, from last year's challenge (Relic Recovery) to the work we have done for Dallas. I also asked to present to Cuban about the team since Iron Reign tends to get information across best through presentations.

Next Steps:

Once again, it's time to wait for a reply!

Conversing with Mark Cuban

26 May 2018

Conversing with Mark Cuban By Abhi, Ethan, Janavi, Christian, Kenna, and Charlotte

Task: Explain Iron Reign

Once again, we got a positive response from Cuban! Unfortunately, we couldn't meet in person but I was still pursuing the sponsor path. For the next message, I decided to get some other members of the team on the project. Since this was our one shot to convince him, I drafted a much longer sponsor email, inspired by older emails to our sponsors. In this email, we provided specifics into what we can do with Cuban's support. With a monetary donation, we will either spend money on robot parts or save it to act as a seed donation for kick-starting a non-profit organization for Iron Reign. Since we are somewhat limited in our monetary abilities due to DISD "red tape", we wanted to develop this organization to better fund our team for years to come. Explaining all these details, our email came to a close. However, I still wanted for Cuban to "meet" the members of the team. From this stance, I decided that making a video from our team members would do the job. After some quick script writing, we developed the video shown below!

Next Steps:

Again, we wait for a reply!

Iron Reign sponsored by Mark Cuban

01 Jun 2018

Iron Reign sponsored by Mark Cuban By Abhi

In this post, I would like to thank Mr. Cuban for supporting Iron Reign. Today, we received a message from Mark Cuban's assistant stating that he would be contributing $2500 to Iron Reign. There is no end to how much this helps our team for the following season.

FIRST is an organization dedicated to promoting young minds in STEM. However, to participate in the program (specifically the Tech Challenge), many materials are needed. A successful team often needs funding to sustain itself for years to come. Mr. Cuban has allowed Iron Reign to actualize this through his support. With his help, we hope to continue to influence young children through our outreach and build better robots. Hopefully, we can return to the World Championship and bring Mr. Cuban to the greatness of FIRST.

Swerve Drive Experiment

02 Jun 2018

Swerve Drive Experiment By Abhi

Task: Consider a Swerve Drive base

Last season, we saw many robots that utilized a swerve drive rather than the mecanum drive for omnidirectional movement. To further expand Iron Reign's repertoire of drive bases, I wanted to further investigate this chassis. Swerve was considered as an alternative to swerve because of its increased speed in addition to the maneuverability of the drive base to allow for quick scoring due to its use of traction wheels at pivot angles. Before we could consider making a prototype, we investigated several other examples.

Among the examples considered was the PRINT swerve for FTC by team 9773. After reading their detailed assembly instructions, I moved away from their design for many reasons. First, the final cost of the drive train was very expensive; we did not have a very high budget despite help from our sponsors. If this drive train was not functional or if the chassis didn't make sense to use in Rover Ruckus, we would have almost no money for an alternate drive train. Also, they parts used by 9773 involved X-rail rather than extrusion rail from REV. This would cause problems in the future as we would need to redesign the REVolution system for X-rail.

Another example was from team 9048 which appeared to be more feasible. Because they used REV rail and many 3D printed parts, this was a more feasible prototype. Because they didn't have a parts list, we had the find the rough estimate of cost from the REV and Andymark websites. Upon further analysis, we realized that the cost, though cheaper than the chassis of 9773, would still be a considerable chunk of our budget.

At this point it was evident most swerve drives being used are very expensive. Wary of making this investment, I worked with our sister team 3734 to create a budget swerve with materials around the house. A basic sketch is listed below.

Next Steps

Scavenge for parts in the house and Robodojo to make swerve modules.

Swerve Drive Prototype

09 Jun 2018

Swerve Drive Prototype By Abhi and Christian

Task: Build a Swerve Drive base

Over the past week, I worked with Christian and another member of Imperial to prototype a drive train. Due to the limited resources. we decided to use Tetrix parts since we had an abundance of those. We decided to make the swerve such that a servo would turn a swerve module and the motors would be attached directly to the wheels.

Immediately we noticed it was very feeble. The servos were working very hard to turn the heavy module and the motors had trouble staying aligned. Also, programming the chassis was also a challenge. After experimenting further, the base even broke. This was a moment of realization. Not only was swerve expensive and complicated, we also would need to replace a module really quickly at competition which needed more resources and an immaculate design. With all these considerations, I ultimately decided that swerve wasn't worth it to use as a drive chassis at this time.

Next Steps

Consider and prototype other chassis designs until Rover Ruckus begins.

Big Wheel Ideas

23 Jun 2018

Big Wheel Ideas By Janavi

Task: Create a Unique Chassis

This summer, we're working on creating unique chassis that are outside of our comfort zone. Often we choose safe bases - opting for ones that we have tried in the past and know work. But, taking the opportunity to explore unique bases allows us to see their performance. One of our ideas is for a two-wheeled robot, with two large wheels and one, smaller, non-motorized omniwheel. We think that this 2-wheeled robot would be a good opportunity for Iron Reign, as we know that our robot has to be lighter than the Relic Recovery robot and a non-mecanum drive would be much lighter. Here is a drawing of what we plan the chassis to look like:

To make this chassis the most efficient based on what we currently know about the competition (light weight robot needed) we are planning to do different tests and calculations to determine the proper motor-gear ratio needed and the wheel locations to properly balance the robot. We also need to perform tests to determine the best material to use for the robot. In the past we've used REV rails for the majority of our structure but due to the weight limit on our robot we plan to minimize metal in our design rather opting for materials that are just as functional but weight less.

Next Steps

Perform calculations comparing different motors as well as different wheel ratios to determine the optimal ratios

Turn Up! at Dallas Love Field

23 Jun 2018

Turn Up! at Dallas Love Field By Justin, Ethan, Charlotte, Kenna, Abhi, and Evan

Task: Present at the Dallas Love Field for the DCOL Turn Up! Event

Every year, the Frontiers of Flight Museum hosts Turn Up!, an event where kids can learn about science and math. Once again, we brought the MXP equipped with 3D printers, Lego sumobots, and our world class FTC robot, Kraken. We ran the sumobots on a table outside of the MXP and 3D printing inside. We also demoed Kraken and Argos, which were great attention grabbers to get kids interested in the MXP. The kids enjoyed programming the Lego sumobots and battling them against each other, as well as creating their very own customized 3D printed key chain. The 3D printers were very busy this year so we had to create extra space outside of the MXP for more laptops with the 3D printing software.

We drove Kraken around the exhibition room and talked to many interested parents about the joy of robotics. While we talked to the parents, someone driving the robot would showcase the capabilities of Kraken by bringing kids glyphs and shaking hands with the relic arm. Kraken was great for showing families what FTC is about. We also had Argos for display but the steering was broken so we didn't drive it. Around 1100 people turned up to the event and we talked to most of them about what we do here at Iron Reign. Turn Up was a great opportunity to introduce kids to the world of STEM and robotics and we hope to have more opportunities like this in the future.

2018-19 Connect and Outreach Strategy

30 Jun 2018

2018-19 Connect and Outreach Strategy By Ethan

Task: Discuss Iron Reign's Awards Strategy for the Upcoming Season

FTC is undergoing a series of changes next year that will most likely negatively impact Iron Reign's ability to advance to further levels. Given that there are about 5,400 teams in FTC for the 2017-2018 season and 256 teams advance to worlds, 4.7% of teams advanced to worlds this year. Next year however, the amount of teams will increase, but the amount of domestic teams advancing to worlds will stay the same. Effectively, the percentage of teams advancing to Worlds will decrease, so that some regions may lose advancement spots.

The best plan to advance is still a dual focus on awards and game. So, we need to up our game. Talking about our RV, while still impressive, has lost its luster with Dallas-area judges. We're still using the RV, and doing our normal outreach, but we plan to aggressively pursue business and engineering contacts. We've already received around $5,000 from individual donors, and received a separate $2,500 grant from Mark Cuban. In addition, members of our team are working at companies such as Verizon, ESi, Abbott, Parkland, and more; all the while gaining contacts in those industries.

We have our work cut out for us, this year will be additionally challenging, losing one of our coders and one builder. We're training people in the skillsets that we're losing out over the summer, and we're also seeking FRC teams to mentor (we want to flip the traditional dichotomy of FRC teams training FTC teams on its head). We really want to get to Worlds this year - its the last year that any of the original members are on the team, and we want to go out with a bang.

Next Steps

  • Seek further business and engineering connections
  • Extend assistance for FIRST outreach
  • Continue team training
  • Continue RV outreach
  • Seek continued grants from TWC and other TX sponsors

CNC Machine Rehab 1

01 Jul 2018

CNC Machine Rehab 1 By Ethan and Charlotte

Task: Refurbish an Apple II CNC Mill and Lathe Set

We were helping our school's FRC team clean out their parts closet, which hadn't been cleaned in 10-ish years. Under the layers and layers of FRC junk, we found an Apple II-operated Patterson/Paxton CNC Milling Set. These were meant to run off of a long-since-gone Apple II in a classroom setting. But, it had long been auctioned off, leaving the set useless. But, Iron Reign, as a collective of hoarders, decided to bring these machines over to the house to refurbish.

The first idea we looked at was emulating the Apple II with an Arduino, as seen here. However, this implementation didn't have the response rate needed for an accurate CNC machine, so we scrapped it. Then, we found this post. The problem that people mainly encounter is that, for some strange reason, Paxton\Patterson used a proprietary parallel port pinout, and deviating from that pinout (read: using a standard parallel cord) would fry the optidriver board in the machine. So, we bought a ethernet-to-parallel port jumper box (UC300eth).

We then sliced a parallel cable in half, and rewired the wires to the pins, treating the left column of that of the port numbers on the board and the right as the pin numbers of the cables.



We then made a power supply for the UC300eth. We attempted to use a 10V DC power supply, and use a voltage splitter. Unfortunately, the power spiked, and probably fried the UC300.

Next Steps

We need to buy a new UC300 board and hook it up to a laptop with Mach3 to test the power.

2018-2019 Recruitment

14 Jul 2018

2018-2019 Recruitment By Ethan

Task: Recruit members for the upcoming robotics season

At the end of last season, we had two members graduate, Austin and Tycho. Their upcoming "goodbye" posts will be posted here, the same as last year. So, we wanted to recruit at least one member to replace them. Recruitment methods that we had used in the past, such as posters and Townview recruitment seminars, had failed to gain any meaningful recruitment. So, we fell back on our secondary, having individual team members submit possible recruits, as well as recruiting from our JV team. This year, we already have Justin. Last year, we had Kenna and Abhi as a submitted recruit. The year before, we had Janavi and Austin.

These prospective recruits are required to fill out a Google Form on our website, titled signup. We had this post stickied for the better part of last year. Of all the people who were asked to fill out this form, we had three people respond, with a fourth potential recruit being the younger sibling of our leaving members. Our current step is vetting the current recruits - we have two interested in coding, one in building, and one no-show. We're giving the recruits tasks to weed them out, the ones that are less experienced will be shunted back into our JV team.

Next Steps

We will recruit 1-3 members out of these recruits and teach them the other aspects that they don't have experience in: writing, code, tools, etc.

Central Public Library Outreach Event

14 Jul 2018

Central Public Library Outreach Event By Ethan, Kenna, Charlotte, and Evan

Task: Present at the J. Erik Jonsson Public Library

This Saturday, we drove down to the J. Erik Jonsson library to present at the Dallas City of Learning Discovery Fair. We brought our sumo-bot equipment to the library, as well as a few of our new and old bots, such as cartbot (a mobile air cannon), bigwheel (a new testing robot), and Kraken (our Worlds robot).

We presented for about 4 hours, talking to about 190 kids. We had multiple parents interested in starting FLL teams, and many other children entertained by our new mobile cannon.

Position Tracking

18 Jul 2018

Position Tracking By Abhi

Task: Design a way to track the robot's location

During Relic Recovery season, we had many problems with our autonomous due to slippage in the mecanum wheels and our need to align to the balancing stone, both of which created high error in our encoder feedback. To address this recurring issue, we searched for an alternative way to identify our position on the field. Upon researching online and discussing with other teams, we discovered an alternative tracker sensor with unpowered omni wheels. This tracker may be used during Rover Ruckus or beyond depending on what our chassis will be.

We designed the tracker by building a small right angular REV rail assembly. On this, we attached 2 omni wheels at 90 degrees to one another and added axle encoders. The omni wheels were not driven because we simply wanted them to glide along the floor and read the encoder values of the movements. This method of tracking is commonly referred to as "dead wheel tracking". Since the omnis will always be touching the ground, any movement will be sensed in them and prevents changes in readings due to defense or drive wheel slippage.

To test the concept, we attached the apparatus to ARGOS. With some upgrades to the ARGOS code by using the IMU and omni wheels, we added some basic trigonometry to the code to accurately track the position. The omni setup was relatively accurate and may be used for future projects and robots.

Next Steps

Now that we have a prototype to track position without using too many resources, we need to test it on an actual FTC chassis. Depending on whether or not there is terrain in Rover Ruckus, the use of this system will change. Until then, we can still experiment with this and develop a useful multipurpose sensor.

Moon Day 2018

21 Jul 2018

Moon Day 2018 By Karina, Ethan, Janavi, and Charlotte

Task: Reach out to the community and spread the magic of robotics

Iron Reign had a great time today at the Frontiers of Flight Museum for the 2018 Moon Day. We demoed three of our robots today: Argos, Kraken, and Big Boi. Kids were very interested in watching our robots drive. Big Boi was a fan-favorite because of its speed and the attached can launcher. Kids were also given the opportunity to drive Argos around. We were also able to interest kids in FTC when we explained Kraken, our robot from the previous season and demonstrated how it could pick up glyphs. In total, we spoke to approximately 200 individuals.

Besides driving our finished robots, we made progress on Garchomp, another robot with mecanum drive serving as a replica for Kraken. We explained our design to people and why we like the mecanum drive so much. Many parents were interested in getting their children involved in a robotics team because they could see the build process at its middle stages in Garchomp and as well as the finished product in Kraken.

Next Steps

Here at Iron Reign, we value the community's interest in robotics. We will continue to make ourselves and our robots accessible to the community at future outreach event, and we will also encourage kids to get involved in STEM.

Chassis Flyer

22 Jul 2018

Chassis Flyer By Ethan

Kraken

This is Iron Reign’s world-championship robot from last season. The basic rundown is this:

  • Weight - 42 lbs
  • Size - 18x17.8x17.5 inches
  • Drive - Mecanum
  • Main parts kit - REV

Iron Reign uses two design processes in conjunction with each other to create efficient and reliable parts: iterative, continual improvement and competitive design.

An example of these design processes working in conjunction is the process of designing our cryptobox intake system. One person had the idea to build an arm-style grabber seen on many current competition robots. His design, however, included shorter arms for space’s sake and a more compact lift system than normal. The second person decided to build a unique conveyor-belt system which used friction to hold blocks in space and move them vertically. Through the competition, we determined that the prior design was more efficient and took up less space than the latter, so we settled on his design, adding in a linear slide for lifting at the end of the process. Then, Kaizen comes in. Through firsthand experience in scrimmages, we learned that the grabber system isn’t as reliable as we thought when first testing. So, we have designed a new grabber system that moves like the arms did previously, but also rotate with soft spikes attached to hold blocks with friction better without damaging them.

As this soft-spike system ceased to perform to our expectations, we looked to other mechanisms to pick up and deliver blocks effectively. We created a new grabber that still used the rotating systems of the soft-spike, but instead, we used custom 3D printed “octopuckers” which had a much tighter grip on the glyphs. As well, inside the gripper, we created a custom “lift” made out of NinjaFlex so that the blocks could be moved up and down internally in the gripper, eliminating our need for stacking.

Later, we further improved upon the grabber design, attaching it to a conveyor belt so that we could move glyphs all across our robot in order to score higher, using our REVolution system. This is the most ambitious use of our REVolution system yet, and we strongly encourage the reading judges to view it at the pits.

BigWheel

The main purpose of this robot is to see if larger wheels will give us an advantage in the competition. Right now, we’re guessing that the competition field will have debris, and we hope that the large wheels will perform better in this environment.

  • Size: ~18x18 in
  • Wheels - 8in large, regular omni wheels in front
  • Part System: Custom parts

Garchomp

For skill development we have newer builders replicating the chassis portion of our competition robot (Kraken). This one will not be weighed down by the additional upper structure of the competition robot and so should be a closer comparison in weight class to most of the other chassis designs under consideration here. Garchomp has a simplistic design and is nothing more than mechanums, rev rails, motors, sprockets, wires, and a rev hub. The large mechanums are held together using side plates from the 2017-18 competition season. These are geared up to neverest 40:1 motors.

  • Size: ~18x18 in
  • Wheels: Mechanum
  • Part System: REV
  • Motors: Neverest 40:1

Summer Chassis Project - July Meeting

22 Jul 2018

Summer Chassis Project - July Meeting By Kenna, Ethan, Charlotte, Karina, Shaggy, and Abhi

Task: Compare & Collaborate on Chassis

At Big Thought's offices in downtown Dallas, three teams met. Technicbots (Team 8565), EFFoRT (Team 8114), Schim Robotics (12900), and Iron Reign are all part of the North Texas Chassis Project. The goal is for each team to create any number of chassis and improve their building skills by learning from the other teams.

The meeting began with an overview of all teams' progress. Each team presented their thought process and execution when creating each bot and discussed why/how everything was done. At the end, we all reviewed the rule changes for the 2018-19 season. Once all questions had been asked and answered, testing began.

Austin Lui of Technicbots gets their chassis ready for testing.

Using leftover tiles from last season, we set up a small field in Big Thought's blue room. Technicbots provided a ramp to do enhanced testing with. All teams plan on testing:

  • Forward speed
  • 3 second turn
  • Up/Down ramp
  • Balancing stone
  • Weight-pulling
  • Straight line drift
  • 90/180° turn offset

Connor Mihelic of EFFoRT adds some finishing touches.

We know from Google Analytics that our website has about 200 visitors a month but we rarely meet the people who read and use our blog posts. Today, we got to meet the mentors of Team 12900 from a middle school in Plano, TX. When they and their students were starting out as a team, they utilized our tutorials and journal. Apparently their teams members are avid followers of our team, which was very meaningful to hear. Some non-FTC friends visited as well and were introduced to cartbot.


Terri and Grant Richards of Schim Robotics.

Next Steps

Using what we learned from the other teams, we will begin to improve all of our chassis. Most of them are at varying levels of completion so now we want to concentrate on getting all of them to the same level of functionality. Garchomp is, notably, the most behind so he will be getting the most attention from here on out.

Replay Autonomous

28 Jul 2018

Replay Autonomous By Arjun

Task: Design a program to record and replay a driver run

One of the difficulties in writing an autonomous program is the long development cycle. We have to unplug the robot controller, plug it into a computer, make a few changes to the code, recompile and download the code, and then retest our program. All this must be done over and over again, until the autonomous is perfected. Each autonomous takes ~4 hours to write and tune. Over the entire season, we spend over 40 hours working on autonomous programs.

One possible solution for this is to record a driver running through the autonomous, and then replay it. I used this solution on my previous robotics team. Since we had no access to a field, we had to write our entire autonomous at a competition. After some brainstorming, we decided to write a program to record our driver as he ran through our autonomous routine and then execute it during a match. It worked very well, and got us a few extra points each match.

Using this program, writing an autonomous program is reduced to a matter of minutes. We just need to run through our autonomous routine a few times until we're happy with it, and then take the data from the console and paste it into our program. Then we recompile the program and run it.

There are two parts to our replay program. One part (a Tele-op Opmode) records the driver's motions and outputs it into the Android console. The next part (an Autonomous Opmode) reads in that data, and turns it into a working autonomous program.

Next Steps

Our current replay program requires one recompilation. While it is very quick, one possible next step is to save the autonomous data straight into the phone's internal memory, so that we do not have to recompile the program. This could further reduce the time required to create an autonomous.

One more next step could be a way to easily edit the autonomous. The output data is just a big list of numbers, and it is very difficult to edit it. If we need to tune the autonomous due to wear and tear on the robot, it is difficult to do so without rerecording. If we can figure out a mechanism for editing the generated autonomous, we can further reduce the time we spend creating autonomous programs.

SEM Nest Outreach

02 Aug 2018

SEM Nest Outreach By Arjun

Task: Present about STEM to new freshmen at SEM

Today Iron Reign presented at the New Student Orientation (NEST) camp at our school, SEM. All incoming freshman were there. We had two sessions, one with 3D modeling, and another with sumo-bots. We also drove around two of our robots from last year, Kraken and Argos. We gave the freshmen chances to drive around these robots. Most of the students were very interested in our presentation, and a few even signed up to join Iron Reign because of it. We spoke with around 160 students.

Next Steps

Here at Iron Reign, we value the community's interest in robotics, especially the students at our school. We will continue to make ourselves and our robots accessible to the community at future outreach events, and we will also encourage kids to get involved in STEM. We hope to recruit many of the students who were interested in robotics from our meeting.

C.A.R.T. Bot Summer Project

12 Aug 2018

C.A.R.T. Bot Summer Project By Evan, Abhi, and Janavi

Task: Enhance our robot-building skills

At Iron Reign, we hate to waste the summer since it’s a great time to get all the ridiculous builds out of the way. Thus, we created C.A.R.T. Bot (Carry All our Robotics Tools). Our constant companion these last few seasons has been our trusty Rubbermaid utility cart which has been beaten and abused, competition after competition, as it carried all our tools and robots. Because of all of this, we decided it was time to show the cart a little love, and in typical Iron Reign fashion, we went all out and turned it into a robot.

Our first step was to switch out the back wheels on it to elf-sized bicycle wheels, allowing us to take on the mightiest of curbs and motorize it. To attach the wheels, a four foot or so cylinder of threaded steel was inserted in holes on either side of the cart. Two slots were cut out in the bottom for the wheels and they were eventually slid on, but not after 3D printed mounts for sprockets were attached to the wheels, enabling us to gear them in a one to one ratio with the sprocket attached to the motors, which consisted of two SIM motors commonly found on FRC robots.

Before we used SIM motors, we attempted to power the cart using two Tetrix motors which were geared for speed but, due to load, barely moved at all. Besides a lack of power, they also tended to come out of alignment, causing a terrible noise and causing the cart to come to a stall. This was quickly scrapped. To mount the motors, we used two pieces of aluminum bars and bolted them to the motors, then screwed them to the floor of the cart, aligned with the wheels. We chained them together and got about powering the system. We got two 12-volt batteries and chained them in parallel so as to not overload the system, and hooked them up to a REV hub. Then, we ran them through a switch and breaker combination. We connected the motors to the rev hub and once we had it all powered up, we put some code on it and decided to take it for a spin.

It worked surprisingly well, so we went back in and put the finishing touches on the base of Cart Bot, mainly attaching the top back on so we could put stuff on top of it, and cutting holes for switches and wires to run through, to make it as slick as possible. We added a power distribution station to assist with the charging and distribute current to any device we decided to charge on the cart. We will eventually hook this up to our new and improved battery box we plan on making in the few spare moments we’ll have this season, just a quick quality of life improvement to make future competitions go smoothly.

Next Steps

Our cart box isn’t done yet, as we intend to make a mount for a solar panel, which we will be able to charge the cart during the downtime in competitions (only if there’s a good window we can park it next to). The cart wasn’t just about having a cool new and improved cart that we don’t have to push (which it is), it also was a test of our engineering skills, taking things that never should have been and putting them together to make something that we will utilize every competition. We learned so much during this experience, I for one learned how to wire something with two batteries as not to destroy the system, as for everyone else, I can’t speak for all but I think we learned a very important lesson on the dangers of electricity, mainly from the height of the sparks from an accidental short that happened along the way. Despite this, the cart came out great and moves smoother than I ever could have hoped. The thing is a real blast and has provided a lot of fun for the whole team, because yes, it is ridable. We predict the speed it’s set at is only a fifth of its full potential speed, and since it already goes a tad on the fast end we don't intend to boost it anymore while there’s a rider on it. Overall, the project was a success, and I’m personally very proud of my work as I’m certain everyone else is too. Come to see it at our table, I really think it’s worth it.

Best Buy Grant

14 Aug 2018

Best Buy Grant By Ethan

Task: Receive a grant from Best Buy for continued MXP operation

Last year, we received a $10,000 award to continue our RV operations, cover staffing costs, and pay for additional technology\repairs. This year, we received another grant of $10,000 for the same reason. This is another stepping stone in keeping Iron Reign and BigThought's MXP program sustainable for another year. In addition, any donation amount encourages more donations in a kind-of snowball effect.

Next Steps

We will continue to seek out grants for not only the MXP, but also so that our team can remain sustainable for years to come.

Dallas Back to School Fair

18 Aug 2018

Dallas Back to School Fair By Ethan and Kenna

Task: Present at the Dallas Back to School Fair at O.W. Holmes

Today we brought the MXP over to O.W. Holmes Academy in South Oak Cliff for our usual presentation. We spoke to about 130 children, doing our usual sumobots and 3D printing sessions.

Next Steps

We have a few more outreach events before our season goes into full swing, so we need to get in touch with as many people as possible.

Adjusting Garchomp's Chains

18 Aug 2018

Adjusting Garchomp's Chains By Janavi and Kenna

Task: Build the Chassis

In our last post, we thought that we had finished Garchomp. However, as we came back to the next practice, we realized that Garchomp's chains were incorrectly linked.

So, we started to diagnose the problem. We noticed that the old REV rails we were using had dents in them, which caused the motors to shift, therefore causing the chains to come off the gears.

To amend this problem, we decided to replace the REV rails ensuring that the motors would not shift during movement. To accomplish this we:

  • First, we loosened all of the screws on the current bar, carefully slid it out, and replaced it with new bars
  • Then we fixing all of the chains and confirming that each of them were individually working
  • we re-attached all of the cables to the robot
  • Ran a stress-tester program and hung the robot on a hook to allow us to properly observe the wheels
Due to our tests we discovered that our wheels were running at different speeds, meaning that our robot constantly moved in circles. After checking that the motors were working, we discovered that it was our encoder cables that were plugged in wrong. After that, Garchomp began to run smoothly.

Next Steps

We will run more stress tests on our robot and make sure that it is up to par with our past robots.

My Summer at MIT

19 Aug 2018

My Summer at MIT By Abhi

Task: Spend a Summer at MIT

Hello all! You might have been wondering where I went the entire summer while Iron Reign was busily working on tasks. Well for those of you interested, I was invited to spend a month at MIT as part of the Beaverworks program. I worked in the Medlytics course and analyzed medical data using machine learning methods. This seems distant from the work we do in FTC but I learned some valuable skills we could potentially use this season. But before I discuss that, I want to talk about the work I did while I was away.

Traditionally, machine learning and artificial intelligence were used for enrichment of the technology. We have been seeing development of search engines to learn our searching trends and craft new results or online shopping websites like Amazon learning our shopping to suggest new items to buy. With the help of machine learning, all this has become possible but there are potential healthcare applications to the same technology. The new algorithms and techniques being developed have shown potential to save lives in times where traditional approaches had failed. Even with basic implementations of artificial intelligence, we have seen instances where a doctors provided an improper diagnosis while a machine said otherwise. These scenarios have further inspired research for medical analytics, which has become the focus of my course at MIT. The Medlytics course was dedicated to learn more about these issues and tackle some real world problems.

The work I was doing was very intensive. I applied the algorithms we were being taught to a number of situations. One week, I was analyzing physiological signals to determine the state of sleep. The next week, I was training models to detect breast cancer from mammograms. Within all this work, the underlying structure was just techniques that could be applied to a number of fields. That brought me to think about the potential applications of my work in FTC. The neural networks and similar models I was training learned a number of scenarios of images or signals. I realized that by integrating computer vision, I could come up with something similar in FTC.

To demonstrate an example of where this could potentially leave an impact, I will go with object detection. Right now, Iron Reign captures a series of images of the object of interest (an example is a cryptobox from Relic Recovery) and attempts to manually fine tune the OpenCV parameters to fit the object as accurately as possible. This sort of task could easily be delegated to a Convolution Neural Network (CNN) architecture. What is a CNN you ask? Well here is a brief description.

In essence, the model is able to determine a pattern in an image based on edges and details. The image is processed through a series of layers to determine the shapes in the image. Then the model attempts to label the image as seen above with the car. If this was brought into context of FTC, we could train model to learn the shapes of an object (for example a wiffle ball) and then feed the information to the robot. The bot could then navigate to the object and pick it up. There are a vast number of applications to this, with this just being one. I hope that my knowledge can be of use for Rover Ruckus.

Next Steps

Wait for Rover Ruckus reveal to see if I can combine my expertise with new code.

Hey New Members!

20 Aug 2018

Hey New Members! By Kenna

Hopefully, you're here because you heard our announcement or saw our flyers. Even if not, welcome! We are team 6832 Iron Reign Robotics. We've been a FIRST team since 2010 and currently compete in FIRST Tech Challenge. Some have been on the team for a few months, others over half their lives. We design, build, and code robots, but we also spend a lot of our time on the MXP. We won the Motivate Award at the World Championships for the creation and sustainment of the MXP. On our team you will learn practical skills, like how to solder programming wires, and soft skills, like how to present to a panel of judges.

If you are interested, please fill out our form for potential members. We are also having an interest meeting at Townview Magnet Center on August 30th in room 363. Feel free to explore our blog or learn more about us.

BigWheel CAD

21 Aug 2018

BigWheel CAD By Ethan

Task: Create a mockup for BigWheel

We've been working on a design for the chassis workshop for quite a while now. We already presented it at the first meeting, and now we need to work on the other components of our presentation: the weight testing, torque calculations, speed testing, and finally, a chassis model. To do the last one, we made a simple model in PTC Creo.

Mentor Involvement from MIT

25 Aug 2018

Mentor Involvement from MIT By Abhi

Task: Discuss potential support from MIT

In a previous post, I mentioned how the knowledge I gained in machine learning at MIT could help the team. But another way our team could be helped is with mentor involvement from MIT. I couldn't have done the research I did at MIT without the help of my amazing instructors. I wanted to bring them on board the Iron Reign way so they could also teach the rest of the team how to be awesome and help us grow. Currently, Iron Reign is speaking with two of my instructors.

Lyle Lalunio (leftmost in image) is a freshman at the University of California at Berkley. He was an intern this past summer at MIT as part of the Laboratory of Computational Physiology and also the Medlytics program. He is proficient in numerous programming languages including Java and Python. He is pursuing computer science in college but is also interested in the medical applications of the science. Lyle has been an incredible mentor for myself and my teams during my month, inspiring me to invite him to the team.

Dr. Danelle Shah (2nd from left in image) is a Technical Staff member in Lincoln Laboratory’s Intelligence and Decision Technologies group. Her most recent research has focused on the detection, representation and characterization of human networks by leveraging natural language processing and graph analytics. Dr. Shah earned her Ph.D. in Mechanical Engineering from Cornell University, where she developed algorithms to facilitate natural and robust human-robot interaction. Dr. Shah has also left a great impact on my life and has a background in robotic algorithms, inspiring me to invite her to the team.

Next Steps

Continue discussion with mentors about potentially joining Iron Reign.

Organization!

25 Aug 2018

Organization! August 25, 2018 By Charlotte

Iron Reign Clutter

One of Iron Reign's greatest weaknesses is the organization of our physical space. It is rare that our workspace is free of clutter, and it is always difficult to find tools or parts that we need. We often joke that when we put an item down it goes in a "black hole," and you won't be able to find it again. This summer, however, we have made a system to tackle this problem and this season we hope to maintain it. We cleared out the front room and set up some shelves and got to organizing. For anyone looking for certain tools or who doesn't know where to put a tool they just found or used, use the article for reference.


This is subject to change, but as we begin the season, here is the current shelf organization:


In the tall black set of drawers, you can find these tools and parts:


  • Top half:
  • Omni Wheels (on the very top)
  • Drill Bits
  • Dremel & Exacto knives
  • Wrenches
  • Screwdrivers
  • Allen Wrenches

  • Bottom half:
  • Servos
  • Torque wrench
  • Bolt cutters
  • Tap & Dice set
  • Extension Cords

  • In the silver drawers on the right side, you can find these tools and parts:


  • On the very top, you can find miscellaneous electronics.
  • Left Side:
  • Pliers
  • Sprockets
  • Motors
  • More motors

  • Right side:
  • Measurement tools & testers
  • USB Adapters (OTG cables)
  • Hardware (screws, bolts, nuts)
  • Wire
  • Zip-Ties

  • In the colorful drawers on the left, you can find these tools and parts:

  • Left side:
  • Mini USB cables
  • Old motor/servo controllers
  • Nuts
  • More mini & micro USB cables
  • Shaft collars
  • Servo cables

  • Middle:
  • Motor mounts
  • Chains
  • Bevel gears
  • Tubing
  • Fabric paint
  • Adhesives
  • Grease
  • REV hardware

  • Right side:
  • Brackets
  • Springs
  • Files
  • Measurement Devices
  • Sandpaper
  • Hand Drills
  • Dremel Kits
  • Rubber Bands

  • We have a long way to go, and we need to put organize these drawers even more and maybe soon label them. If anyone has any questions ask Evan or me (or Tycho if he's home), and make sure you put things back after you use them!

    2018-19 Recruitment

    30 Aug 2018

    2018-19 Recruitment By Ethan, Kenna, Charlotte, Janavi, Abhi, and Arjun

    Task: Recruit new members for the 2018-19 season

    Last year, Iron Reign lost two members, so we're only looking for 2-3 members to replace them and their particular skillsets. However, our sister team, Imperial Robotics (3734) lost nine members. So, we decided to host a recruitment session at our school to find interested freshmen.

    We put up posters around the school, and got a healthy crowd - 30 people. We talked about Iron Reign's history, needed levels of commitment for various teams, and what the average person will do on the team. We also answered questions about the team from the crowd. Of those people who attended, 17 signed up for a testing session next week, including two former members of Iron Reign, Alisa and Trace.

    Next Steps

    We will hold training sessions to assess each potential members skills, then divy them up with Imperial Robotics.

    Bigwheel Presentation

    03 Sep 2018

    Bigwheel Presentation By Arjun and Karina

    Task: Present about Garchomp

    As a new freshman on Iron Reign, I took on the responsibility of a robot we called Bigwheel. Karina and I worked on getting the robot into something that could be put through load tests, meaning tightening the chain, fixing misaligned sprockets, and getting the wiring together. We participated in the Chassis Presentation workshop hosted by technicbots for teams all around the North Texas region to work on one or more chassis, perform various tests with them and then present their findings. We presented our chassis Bigwheel, which is driven by 2 large 8-inch wheels, with a pair of 2 free-spinning Omni wheels in the back. This can be seen in the presentation below:

    To create our chassis we used 2 8-inch wheels, each driven by 2 Neverrest 60 motors. There are also two free-spinning omni wheels in the back. The robot uses REV rails and plexiglass for it's main body.

    Our first test is the 5-second distance test. Our robot had a lot of torque due to the Neverrest 60 motors, so it moved slower than other robots, but was unaffected by the additional 30lbs weight.

    Our second test is the 3-second turn test. Again, some other robots could turn better faster than us. However, due to having no proper mechanism for restraining our weights, along with other mysterious problems such as battery disconnections that only happened during this test, we were unable to try this test with load, however we presume that due to the torque, the results should be similar to those without load. Our center of rotation is also off due to only the front two wheels being powered. As such, the back of the robot makes a wide arc as it turns.

    Our next few test results are unremarkable.

    Our robot had a lot of sideways drift, mostly due to bad build quality. If we intend to use it during the season, we will try to fix this.

    Overall, our chassis performed well under load, but could use a little speed boost. If we want to further develop it, we plan to use Neverrest 20s with more torque on our external gear ratio, so we can get more speed out of it.

    Garchomp Presentation

    03 Sep 2018

    Garchomp Presentation By Janavi and Kenna

    Task: Present in the Inviational Presentation Series

    Today, we participated in the Chassis Presentation workshop for teams all around the North Texas region; the project was to design robots and perform various tests with them, then present findings. We presented our chassis, Garchomp, a mechanum wheel chassis as can be seen in the slide photos below.

    Presentation

    To create our chassis we used 4 never rest 40 motors one for each wheel and the structure of the chassis was created by using tetrix rails. We connected the wheels to the motors by using a 1:1 gear ratio. While there are many benefits to using a gear ratio for your wheels be forewarned that if your wheels are not perfectly aligned attaching your chains to mechanum wheels will become a living nightmare as can be seen in our previous posts.

    One of the reasons that attaching the chains was so difficult for us was because we discovered that because we had used wooden sides instead of the aluminum sides that Kraken used our wheels became misaligned to the two different types of wood used for the sides.

    While our robot is not able to do a 360 degree turn as fast as some other robots presented today it is able to hold a considerable amount of speed while moving at a constant speed.

    Since this chassis was designed for last years competition it is able to consistently drive onto the balancing stone

    North Texas Invitational Presentation Series - Worlds

    03 Sep 2018

    North Texas Invitational Presentation Series - Worlds By Ethan, Abhi, Janavi, Kenna, Charlotte, Evan, Karina, and Justin

    Task: Present about Worlds to new teams

    This was our last presentation in a series of presentations in conjunction with teams from around Texas for new and returning teams in the North Texas region. This particular presentation was about strategies in awards and the game, as well as general thoughts about FTC and Worlds.

    Presentation

    Post Kickoff Meeting

    08 Sep 2018

    Post Kickoff Meeting September 08, 2018 By Karina, Charlotte, Ethan, Evan, Kenna, and Abhi

    Meeting Log September 08, 2018

    Today Iron Reign attended the FTC 2018-2019 season kickoff at Williams High School. After the event, we gathered back at our coach's house to talk about how we might approach this season's challenge. We welcomed prospect team members as well. They joined us in reviewing the reveal video and the games manuals.

    Today's Meet Objectives

    We wanted to have an understanding of the game design so that we could start going over robot designs. To do this we:

    • Watched the reveal video
    • Skimmed through game manual 1 and the preview of game manual 2

    Until we receive the field elements, we will have to plan and strategize using the resources listed above.

    Because we also had new possible team members over, we set expectations for this year. Actively recording our progress and blogging for the engineering journal was heavily stressed. We recognize the importance of having a good engineering journal and how it can help us advance. Our coach's house, the place where we have our meetings, is also cleaner than it has been in a long time after an intense cleaning session. Having an organized space maximizes efficiency, especially with the a larger team. Therefore, we expect for all team members to clean up after themselves and maintain the organization.

    Before we could discuss robot build ideas, we talked strategy. Parking in the crater and the landing zones will undoubtedly be easy to do. Since we know that designing a way for our robot to be able to lift itself onto the lander will be a more interesting challenge and will score us the most points, we will prioritize working on prototypes mechanisms for this task. Finding a way to gently lower down form the lander may be difficult. We will have to consider ways to not damage the robot, wiring, etc. We also agreed that it would make the most sense to have one mechanism that latches onto the hook on the lander, grabs gold and silver elements from the crater, and places these elements into the columns.

    Other topics we talked about include drive trains, problems with trying to create a mechanism that grab both the silver balls and gold blocks, as well as how we would be able to grab them out of the crater without going over the edge of the crater and getting stuck.

    Also, in previous seasons, we have had strong autonomous game, and so we decided to make the tasks in autonomous another top priority. We had our coders start discussing the field path for autonomous. Unfortunately, we will not be able to launch our team marker into the team depot.

    After the end of last season, a storm passed through and turned over shelves, trashing the robo-dojo. Some of our team members cleaned up the tent this afternoon. While it may not seem very important at the moment, this will be very helpful later in the season once we get our field elements for this year's challenge and want to set the field up. While cleaning, they also uncovered old, rusted metal tools and and pieces, which we will now be able to repair and save for future use.

    Besides helping with cleaning the tent, the new members showed a lot of interest in the game as well. They were eager to start building, and actually started creating prototype mechanisms for picking up the silver and gold elements.

    Today's Work Log

    Team MembersTaskStart TimeDuration
    KarinaWorking on blog2:004 hrs
    AbhiAutonomous planning2:004 hrs
    EvanRobot brainstorming2:004 hrs
    CharlotteRobot brainstorming2:004 hrs
    EthanWorking on blog2:004 hrs
    KennaCleaning tent2:004 hrs

    Rover Ruckus Brainstorming & Initial Thoughts

    08 Sep 2018

    Rover Ruckus Brainstorming & Initial Thoughts By Ethan, Charlotte, Kenna, Evan, Abhi, Arjun, Karina, and Justin

    Task: Come up with ideas for the 2018-19 season

    So, today was the first meeting in the Rover Ruckus season! On top of that, we had our first round of new recruits (20!). So, it was an extremely hectic session, but we came up with a lot of new ideas.

    Building

    • A One-way Intake System

    • This suggestion uses a plastic flap to "trap" game elements inside it, similar to the lid of a soda cup. You can put marbles through the straw-hole, but you can't easily get them back out.
    • Crater Bracing
    • In the past, we've had center-of-balance issues with our robot. To counteract this, we plan to attach shaped braces to our robot such that it can hold on to the walls and not tip over.
    • Extendable Arm + Silicone Grip

    • This one is simple - a linear slide arm attached to a motor so that it can pick up game elements and rotate. We fear, however, that many teams will adopt this strategy, so we probably won't do it. One unique part of our design would be the silicone grips, so that the "claws" can firmly grasp the silver and gold.
    • Binder-ring Hanger

    • When we did Res-Q, we dropped our robot more times than we'd like to admit. To prevent that, we're designing an interlocking mechanism that the robot can use to hang. It'll have an indent and a corresponding recess that resists lateral force by nature of the indent, but can be opened easily.
    • Passive Intake
    • Inspired by a few FRC Stronghold intake systems, we designed a passive intake. Attached to a weak spring, it would have the ability to move over game elements before falling back down to capture them. The benefit of this design is that we wouldn't have to use an extra motor for intake, but we risk controlling more than two elements at the same time.
    • Mechanum
    • Mechanum is our Ol' Faithful. We've used it for the past three years, so we're loath to abandon it for this year. It's still a good idea for this year, but strafing isn't as important, and we may need to emphasize speed instead. Plus, we're not exactly sure how to get over the crater walls with Mechanum.
    • Tape Measure
    • In Res-Q, we used a tape-measure system to pull our robot up, and we believe that we could do the same again this year. One issue is that our tape measure system is ridiculously heavy (~5 lbs) and with the new weight limits, this may not be ideal.
    • Mining
    • We're currently thinking of a "mining mechanism" that can score two glyphs at a time extremely quickly in exchange for not being able to climb. It'll involve a conveyor belt and a set of linear slides such that the objects in the crater can automatically be transferred to either the low-scoring zone or the higher one.

    Journal

    This year, we may switch to weekly summaries instead of meeting logs so that our journal is more reasonable for judges to read. In particular, we were inspired by team Nonstandard Deviation, which has an amazing engineering journal that we recommend the readers to check out.

    Programming

    Luckily, this year seems to have a more-easily programmed autonomous. We're working on some autonomous diagrams that we'll release in the next couple weeks. Aside from that, we have such a developed code base that we don't really need to update it any further.

    Next Steps

    We're going to prototype these ideas in the coming weeks and develop our thoughts more thoroughly.

    2018 Kickoff

    08 Sep 2018

    2018 Kickoff By Ethan, Evan, Kenna, Charlotte, Abhi, Justin, Karina, and Arjun

    Task: Attend the North Texas FTC Kickoff

    Today, we went to the Rover Ruckus kickoff! This year's main challenge is getting blocks (gold) and balls (silver) into the main lander. The other side challenges, in order of hardness, are hanging, parking, and placing the team marker. The main upside of all of this means that it is theoretically possible to perform every single function on the field with the same mechanism.

    The main non-robot game changes are the elimination of Supers, the standardization of awards, and Worlds spot changes. The one that particularly piqued our interest was the award standardization. Historically, there have been huge disparities between the awards in North Texas and the awards at Worlds. For example, in North Texas, we continually won the Connect Award for our outreach (while in the rubric, it was the award for connecting with engineers). But, at Worlds, we won the Motivate Award instead.

    Next Steps

    We will do a brainstorming session to figure out are design paths for the next few weeks. In addition, we need to complete sorting of the new members.

    Testing Intakes

    09 Sep 2018

    Testing Intakes By Ethan and Evan

    Task: Design a prototype intake system

    In our first practice, we brainstormed some intake and other robot ideas. To begin testing, we created a simple prototype of a one-way intake system. First, we attached two rubber bands to a length of wide PVC pipe. This worked pretty well, but the bands gave way a little too easily.

    For our next prototype, we attached a piece of cardboard with slits to a cup approximately the size of a cube or block. It operates similarly to a soda cup lid with a straw hole. An object can go in, but the corners of the hole spring back so that it can't escape.

    Next Steps

    We probably won't go with this design - we'd have issues separating the different kinds of game elements, and it may be too slow to feasibly use. But, its a first step and we'll see what happens.

    Rover Ruckus Strategy

    10 Sep 2018

    Rover Ruckus Strategy By Ethan, Kenna, Charlotte, Evan, Abhi, Justin, Karina, and Aaron

    Task: Determine the best Rover Ruckus strategies

    Challenge Game Timing Points Level of Difficulty (1 - 3 [hard]) Priority Idea
    Landing Autonomous 30 2 Medium Latch attached to linear slides that allows us to descend rapidly
    Claiming Autonomous 15 1 High Autonomous, easy as bumping into wall
    Parking Autonomous 10 1 High Autonomous, just need to move
    Sampling Autonomous 25 2 Medium Autonomous, OpenCV solution as in similar years
    Latching End Game 50 3 High 3D-printed latch attached to linear slide strong enough to lift robot
    Robot in Crater End Game 15/25 1 High Driving
    Mining [Depot] Tele-Op 2 per item 1 High Rolling intake into box, then conveyor belt into the depot
    Mining [Cargo] Tele-Op 5 per item 2 High Long linear-slide arm that reaches the two feet into the lander with an intake/deposit on the end

    Choosing Drive Train

    12 Sep 2018

    Choosing Drive Train By Janavi

    Task: Analyze the game

    In our last post, we created a chart where we listed each task asked based on point value and the level of difficulty, separated by autonomous and teleop. Our goal is to find a drive train that will allow us to build a robot to accomplish all of these tasks efficiently and consistently, but this matrix will allow us to determine what to focus on first.

    Drivetrain Comparison

    This summer we created a variety of drivetrains for a summer chassis project hosted in coordination with other teams from the North Texas region. We have compiled a list of the drivetrains and the criteria we need to consider for Rover Ruckus.

    What do we need to look at in a Drivetrain?

    • Light
    • Sturdy
    • Easily Maneuverable
    • Fast
    • Low center of mass to avoid tipping
    • Reliability

    Comparison

    Eliminated? Reason for Elimination Pros Cons
    Miniature Mechanum Drive NO N/A
    • Omni-Directional
    • Fast turning
    • Easy to design
    • Experience with
    • Driving/Building
    • light
    Uneven power
    Big Wheel NO N/A Unique Design We have less experience
    Larger Mechanum Drive YES Need light robot; may use mini mechanum chassis instead Familiar Design Too heavy for this years competition
    Swerve YES Difficult design, Many motors and servos, we have less experience Easier to maintain at high speed Unfamiliar and difficult to design and maintain
    8-wheel Drive YES Many wheels, Difficult of maneuver, no omni directional movement 100% power forward Difficult to maneuver
    Holonomic Drive YES Less push power in all directions; hard to integrate into robot Easy to turn and maneuver Hard to design; hard to integrate into base; Only 50% power in all directions

    Selecting Wheels

    12 Sep 2018

    Selecting Wheels By Janavi

    Objective: Determine the type of wheel that best suits the chassis

    In the Choosing Drive Train E-16 we decided that we will use the chassis BigWheel. We know that our wheels need to be light weight but we need to determine the size of the wheel that will keep our robot far away enough from the ground for us to provide enough clearance to allow us to climb over the crater rim. But, if we choose wheels with a large radius we risk raising the center of mass.

    Pros Cons
    Ironton 12in. Solid Rubber Spoked Poly Wheel
    • light
    • durable
    • Large Turns
    • Extremely Large
    Ironton 16in. Solid Rubber Spoked Poly Wheel
    • light
    • durable
    • Raise center of mass
    • Extremely Large
    • To prevent tipping we now have a much shorter distance to correct imbalance
    Ironton 8in. Solid Rubber Spoked Poly Wheel
    • light
    • durable
    • Not large enough to significantly move the center of mass

    Brainstorming Two

    15 Sep 2018

    Brainstorming Two By Evan, Abhi, and Janavi

    Task: Have a 2nd brainstorming session

    We had another brainstorming session today, which allowed us to break down into some new building tasks.

    Intake System 3 - TSA Bag Scanner

    This part of our robot is inspired by the bag-scanning machine in TSA lines, more specifically the part at the end with the spinning tubes. The basic design would be like a section of that track that flips over the top of the robot into the crater to intake field elements.

    Intake System 4 - Big Clamp

    This one is self-explanatory. Its a clamp, that when forced over a block or a cube, picks it up. It's not that accurate, but it's a good practice idea.

    Lift 2 - Thruster

    We want to make lifting our robot easy, and we're thinking of a slightly different way to do it. For our new lift idea, we're installing a vertical linear slide that forces the robot upwards so that we can reach the lander.

    Next Steps

    We're working on building these prototypes, and will create blog posts in the future detailing them.

    Meeting Log

    15 Sep 2018

    Meeting Log September 15, 2018 By Charlotte, Karina, Kenna, Janavi, Evan, Abhi, Justin, and Ethan

    Meeting Log September 15, 2018

    Today Austin, an Iron Reign alumni, visited us from A&M! :)

    Today's Meet Objectives

    As our brainstorming and discussion continues, we are putting our ideas into action and making various prototypes and designs. We will continue to work with our new recruits and let them participate in a meaningful way with our building and in getting ready for competition.

    Today's Meet Log

    • Further brainstorming and discussion
    • Taking some inspiration from 30 hr robot reveal videos, we have continued the brainstorming for this year's robot. Our main subjects of discussion are our intake and lift, and some ideas that were thrown around were a conveyor belt-like intake and a lift that utilizes a linear slide which lifts the robot chassis. The details of our brainstorming session can be found at (E-19, Brainstorming Two - Enter the Void).
    • Prototyping and linear slides
    • Today, Abhi worked on a hook for hanging off the rover at first with Styrofoam, and then began a 3D model. Evan started working with our new linear slides (see the picture below); we expect to use linear slides a lot this year, with reaching into the craters and hooking onto the rover. We pre-drilled some holes into these new slides using an optical punch and a drill. Janavi worked with a different linear slide kit, this kit is lighter than our new kit, which is helpful, but it is very delicate and requires precision to put together.
      Evan looking through an optical punch
      Evan with a linear slide
    • Field setup
    • Many of our new recruits returned today and have continued to be active. During the week, we received the field parts, so we had them help us put it together so that they can be familiar with the field design and with certain power tools. They also helped with various devices we worked on, like the linear slides, etc.
      Field assembly progress from our new recruits.
    • Chassis testing
    • We plan to use the chassis we built this summer for preliminary autonomous testing. Janavi and Kenna got Garchomp up and running today and added a better and more secure phone holder so we can run autonomous.
    • Vision and autonomous
    • We began exploring in Open CV so that we can have a visual tool to find the minerals; the algorithms we are exploring can be used for both autonomous and tele-op. We had a discussion on our goals for vision this year, which can be found at (E-20, Vision Discussion). We also began mapping our autonomous paths to act as guides to our coders.
      Open CV progress

    Today's Member Work Log

    Team MembersTaskStart TimeDuration
    KarinaRobot build and team marker design2:004 hrs
    AbhiOpen CV2:004 hrs
    EvanPrototyping2:004 hrs
    CharlotteBlog and brainstorming2:004 hrs
    EthanWorking on blog2:004 hrs
    KennaRobot build2:004 hrs
    JustinField assembly2:004 hrs
    JanaviPrototyping2:004 hrs

    Vision Discussion

    15 Sep 2018

    Vision Discussion By Arjun and Abhi

    Task: Consider potential vision approaches for sampling

    Part of this year’s game requires us to be able to detect the location of minerals on the field. The main use for this is in sampling. During autonomous, we need to move only the gold mineral, without touching the silver minerals in order to earn points for sampling. There are a few ways we could be able to detect the location of the gold mineral.

    First, we could possibly use OpenCV to run transformations on the image that the camera sees. We would have to design an OpenCV pipeline which identifies yellow blobs, filters out those that aren’t minerals, and finds the centers of the blobs which are minerals. This is most likely the approach that many teams will use. The benefit of this approach is that it will be easy enough to write. However, it may not work in different lighting conditions that were not tested during the designing of the OpenCV pipeline.

    Another approach is to use Convolutional Neural Networks (CNNs) to identify the location of the gold mineral. Convolutional Neural Networks are a class of machine learning algorithms that “learn” to find patterns in images by looking at large amounts of samples. In order to develop a CNN to identify minerals, we must take lots of photos of the sampling arrangement in different arrangements (and lighting conditions), and then manually label them. Then, the algorithm will “learn” how to differentiate gold minerals from other objects on the field. A CNN should be able to work in many different lighting conditions, however, it is also more difficult to write.

    Next Steps

    As of now, Iron Reign is going to attempt both methods of classification and compare their performance.

    CNN Training

    22 Sep 2018

    CNN Training By Arjun and Abhi

    Task: Capture training data for a Convolutional Neural Network

    In order to train a Convolutional Neural Network, we need a whole bunch of training images. So we got out into the field, and took 125 photos of the sampling setup in different positions and angles. Our next step is to label the gold minerals in all of these photos, so that we can train a Convolutional Neural Network to label the gold minerals by learning from the patterns of the training data.

    Next Steps

    Next, we will go through and designate gold minerals. In addition, we must create a program to process these.

    Chassis Brainstorming

    22 Sep 2018

    Chassis Brainstorming By Ethan and Evan

    Task: Brainstorm chassis designs

    At the moment, we've used the same chassis base for three years, a basic mechanum base with large wheels. However, we don't really want to do the same this year. At the time, it was impressive, and not many teams used mechanum wheels, but now, its a little overdone.

    Thus, we have BigWheel. We used this as a practice design, but we ended up really liking it. It starts off with two large rubber wheels, approx. eight inches in diameter, mounted at the back and sides of the robot. Then, we have two geared-up motors attached to the motors for extra torque and power. In the front, we have a single omniwheel that allows our robot to turn well.

    Proposed Additions

    First, we need to add an intake system. For this, we're considering a tension-loaded carwash that can spring out over the crater wall. It'll pull elements in and sort them through our intake using our separator, which we will detail in a later post. Then, the robot will drive over to the lander and lift itself up. Since the main segment of the robot is based off of two wheels, we're attaching a telescoping slide that pushes off of the ground at the opposite end and pivots the front of the robot upwards. Then, the intake will launch upwards, depositing the elements in the launcher.

    Next Steps

    We need to create a proof-of-concept for this idea, and we'd like to create a 3D model before we go further.

    Meeting Log

    22 Sep 2018

    Meeting Log September 22, 2018 By Charlotte, Janavi, Evan, Abhi, Justin, Ethan, Arjun, Karina, and Kenna

    Meeting Log September 22, 2018

    Home Depot Trip!

    Today's Meet Objectives

    As we are starting to make more serious strides in our robot and strategy, we wish to start passing down knowledge to our new recruits. Today, we are going to continue prototyping with grabbers and various linear slide kits and we need to discuss strategy and organization for this season.

    Today's Meet Log

    • Robot strategy discussion
    • Today we have discussed more about what we want our strategy to look like. An option we are heavily considering is having a non-moving robot, in the sense that our robot is stationary and all game actions are performed using extensions from the robot, using linear slides, etc. We have discussed what game rules we need to consider, like what "parking" consists of during autonomous. For further information, see (E-34, Another Design Bites the Dust).
    • Chassis brainstorming
    • We discussed the chassis design we plan to use this season, and we decided experiment with the BigWheel chassis we build this summer. For more details on this discussion, see (E-23, Chassis Brainstorming).
    • Sorter prototyping
    • We have continued prototyping various grabbing mechanisms with sorting ability, one passive and one active sorter. The passive version we modeled in Creo and printed before practice, and the active was modeled using Legos! Our new recruits have been helping us prototype also, as we have been making a version 2 for the active model.
      Passive model
      Active model
    • New chop saw!
    • Some of the materials we are working with require power tools that we don't have or were damaged by rain. One of the linear slide kits we are working with is stainless steel, which requires a chop saw which we didn't have. We made a trip to Home Depot and bought one.
      Chopsaw in action

    • Finishing field assembly
    • Our new recruits finished up the field today. They ran into some problems along the way, including difficulty with putting on the top part of the lander, improper placement of the wing nuts, alignment of the lander in the foam tiles, and more but were able to overcome these difficulties and yielding a field for practice.
      Our freshman recruits!
    • Linear slide assembly
    • Evan and Janavi finished assembling the linear slides they were working on last week. As we build a chassis (or a wheel-less chassis) we are going to try both types to see how the weight, strength, friction, string tension, and other factors affect our gameplay. A side-by-side comparison of our linear slides cam be found at (E-61, Selecting Linear Slides)

      Battle of the Slides
    • Team marker
    • Karina narrowed down the ideas for a marker and she, with Kenna, has began building it. More about our marker can be found at (E-33, Team Marker Fun).
    • Open CV and our CNN
    • While we are waiting to begin code, we are testing many algorithms in Open CV, so we can accurately and consistently detect field minerals. These algorithms consider shape and color to map points to predict the location of the minerals. While developing Open CV, we have begun the development of a Convolutional Neural Network. Detail of our CNN training can be found at (E-22, CNN Training).
    • Location sensor
    • Today, Justin worked on making the location sensor (our fail-safe in case our encoders fail) smaller and more lightweight to help us meet with this year's size requirements (something we have had trouble with in the past).
    • Chassis testing
    • We tested the different chassis we build this summer on the field to see how they interact with the terrain (aka the crater). We found that Big Wheel was too long and didn't go over the crater at all unless it was backwards and got a running start. Garchomp (with Mechanums) went over the craters fine.

    Today's Member Work Log

    Team MembersTaskStart TimeDuration
    KarinaRobot build and team marker design2:004 hrs
    AbhiOpen CV and build2:004 hrs
    EvanBuild2:004 hrs
    CharlotteBlog and brainstorming2:004 hrs
    EthanWorking on blog2:004 hrs
    KennaRobot build2:004 hrs
    JustinBuild and field assembly2:004 hrs
    JanaviBuild2:004 hrs
    ArjunCode and blog2:004 hrs

    Autonomous Path Planning

    26 Sep 2018

    Autonomous Path Planning By Abhi

    Task: Map Autonomous paths

    With the high point potential available in this year's autonomous it is essential to create autonomous paths right now. This year's auto is more complicated due to potential collisions with alliance partners in addition to an unknown period of time spend delatching from the lander. To address both these concerns, I developed 4 autonomous paths we will investigate with to use during competition.

    When making auto paths, there are some things to consider. One, the field is the exact same for both red and blue alliance, meaning we don't need to rewrite the code to act on the other side of the field. Second, we have to account for our alliance partner's autonomous if they have one and need to adapt to their path so we don't crash them. Third, we have to avoid the other alliance's bots to avoid penalties. There are no explicit boundaries this year for auto but if we somehow interrupt the opponent's auto we get heavily penalized. Now, with these in mind, lets look at these paths.

    This path plan is the simplest of all autonomi. I assume that our alliance partner has an autonomous and our robot only takes care of half the functions. It starts with a simple detaching from the lander, sampling the proper mineral, deploying the team marker, and parking in the crater. The reason I chose the opposite crater instead of the one on our nearside was that it was shorter distance and less chance to mess with our alliance partner. The issue with this plan is that it may interfere with the opponent's autonomous but if we drive strategically hugging the wall, we shouldn't have issues.

    This path is also a "simple" path but is obviously complicated. The issue is that the team marker depot is not on the same side as the lander, forcing us to drive all the way down and back to park in the crater. I could also change this one to go to the opposite crater but that may interfere with our alliance partner's code.

    This is one of the autonomi that assumes our alliance partners don't have an autonomous and is built for multi-functionality. The time restriction makes this autonomous unlikely but it is still nice to plan out a path for it.

    This is also one of the autonomi that assumes our alliance partners don't have an autonomous. This is the simpler one of the methods but still has the same restrictions

    Next Steps

    Although its great to think these paths will actually work out in the end, we might need to change them a lot. With potential collisions with alliance partners and opponents, we might need a drop down menu of sorts on the driver station that can let us put together a lot of different pieces so we can pick and choose the auto plan. Maybe we could even draw out the path in init. All this is only at the speculation stage right now.

    Hanging Hook Prototype

    26 Sep 2018

    Hanging Hook Prototype By Abhi, Ethan, Justin, and Janavi

    Task: Design a hook for pulling the robot on the lander

    To get a head-start on latching and delatching from the lander during autonomous, we got a head start and made some hook prototypes. If your robot can just do these two things, you can score 80 points. When making this hook, it needs to be modular enough to not require much accuracy but also needs to be strong enough to hold 42 pounds. This hook works just that way.

    We designed this hook to have a slanted top to glide the robot into position if we aren't in the right place, making it very modular. In addition, we 3D printed this hook with ~80% infill in nylon after designing in PTC Creo. First, we tested it by hanging ~20 lbs of material off of it for one minute. This worked, but a little too well. While the nylon piece remained undamaged, the metal bracket it was supported by bent at a ninety degree angle. So, we had to pursue further testing.

    For our next test, we plan to hang a mass outside for a week. Dallas weather has been extreme lately, with a lot of rain, humidity, and heat. This will be the ultimate stress test; if one of our pieces can survive the outdoors, it can survive just about anything.

    Next Steps

    We're probably going to have to reprint this to be a bit more fitting for our robot, but its a good start and it works great so far.

    Meeting Log

    28 Sep 2018

    Meeting Log September 28, 2018 By Charlotte, Karina, Kenna, Janavi, Evan, Abhi, Justin, Ethan, and Arjun

    Meeting Log September 28, 2018

    Coding lessons with new recruits

    Today's Meet Objectives

    Since our overflow of new recruits, we have opened up two other teams 15373 and 15375, which Iron Reign will mentor and lead along with our mentorship of 3732 Imperial Robotics, who has also received new recruits. Today we plan to continue integrating them into FTC; we will begin teaching them the different expectations of an FTC team, including hard and soft skills such as coding and presenting to a panel of judges. In Iron Reign, we are going to continue prototyping various mechanisms we have designed. Also, we are going to get started with coding and autonomous.

    Today's Meet Log

    • Mentoring
    • This week, we had even more recruits join us today, so we decided to run through our Worlds presentation from last year to teach them about the judging process and our engineering process. We set their expectations for what competition day looks like, and what they need to focus on and maintain throughout the season, such as the engineering journal and outreach. We had a long discussion about subteams and we are going to let the recruits explore these subteams and decide for themselves what parts of FTC they wish to pursue.
      Presentation to recruits.
    • Linear slides
    • Janavi continued working with linear slides, which we installed on a bare chassis as well as the hook Abhi designed and printed. Near the end of practice we tested the slide and we found that it worked pretty well but we need additional tests before we can determine whether it will ba a viable option for our robot. To see more information on our linear slides, see (E-,).
    • Secret project
    • Evan worked on a secret project, details will be written about in future blog posts. See (E-34, Another Design Bites the Dust).
    • Team marker
    • Karina continued to work on our team marker. Last time we decided on the design we want to use, and she had put the idea into reality today.
      Ducky incarcerated
    • Modeling
    • Justin 3D modeled and printed wheel mounts for churros and hex shafts.
      Justin modeling
    • Replay autonomous and code mentoring
    • Over the summer, we worked on a new replay autonomous system where rather than coding an autonomous, testing it, then fixing it, we drive the robot in our intended path and that path is automatically recorded in the code. This year, we don't think that system will work, with the heavy emphasis on computer vision and the unreliable positioning of the robot after it drops off the hook on the rover. Also, today we worked with the recruits that demonstrated interest in coding. Abhi gave them a lesson and let them create their very first autonomous program by themselves (but with his guidance of course).

      Today's Member Work Log

      Team MembersTaskStart TimeDuration
      KarinaTeam marker build2:004 hrs
      AbhiCoding and teaching2:004 hrs
      EvanRobot build2:004 hrs
      CharlotteBlog and organization2:004 hrs
      EthanWorking on blog2:004 hrs
      KennaRobot build2:004 hrs
      Justin3D Modeling2:004 hrs
      JanaviRobot build2:004 hrs

    BigWheel Chassis

    29 Sep 2018

    BigWheel Chassis By Evan

    Task: Work on a possible chassis

    We've been toying around with the idea of using BigWheel, our Summer Chassis Research Project bot, in this year's competition with a few modifications. The idea for this robot is that it has a collection system that extends into the crater, and folds up on top of the robot. It reaches in with the collection arm, and grabs the blocks/glyphs, drives backwards and flips vertically using the drive wheels as a point of rotation. Here’s a basic sketch of what that looks like.

    The way this will be achieved is with a spring loaded lever connected to the omni wheel that makes up the holy trinity of wheels. So far I have pieced together the arm that reaches into the pit, which is powered by two NeverRest 60s and geared in a two to one ratio to significantly increase the torque. Between the two arm I plan for a horizontal beater bar to intake blocks and a slide attached to a servo to separate blocks and balls based on their size. The idea is to have a way of sorting based off of the physical shape rather than by digital sensing means. The more that can be done purely off the shape of the elements, the better.

    Next Steps

    Next week, the team will have to make some serious progress since there will be more hands to build. My hope is that the lever will come about soon, even if in its most infant stage, and that some semblance of a functioning robot can be game tested in the next few weeks, just in time for a scrimmage and potentially an early qualifier.

    CNN Training Program

    29 Sep 2018

    CNN Training Program By Arjun and Abhi

    Task: Designing a program to label training data for our Convolutional Neural Network

    In order to use the captured training data, we need to label it by identifying the location of the gold mineral in it. We also need to normalize it by resizing the training images to a constant size, (320x240 pixels). While we could do this by hand, it would be a pain to do so. We would have to resize each individual picture, and then identify the coordinates of the center of the gold mineral, then create a file to store the resized image and coordinates.

    Instead of doing this, we decided to write a program to do this for us. That way, we could just click on the gold mineral on the screen, and the program would do the resizing and coordinate-finding for us. Thus, the process of labeling the images will be much easier.

    Throughout the weekend, I worked on this program. The end result is shown above.

    Next Steps

    Now that the program has been developed, we need to actually use it to label the training images we have. Then, we can train the Convolutional Neural Network.

    Intake Sorter

    29 Sep 2018

    Intake Sorter By Abhi

    Task: Design a sorter for the balls and blocks

    To increase the efficiency of our robot, we looked into ways to passively sort minerals during intake and deposit. It is important to sort because it requires less precision under driver control allowing a faster and more efficient robot. Though bulky, we designed an initial design to sort the minerals.

    When this piece is mounted and both blocks and balls are run over it, the balls run down the top and don't fall in the collector, but the blocks fall in the holes. We modeled this design in PTC Creo, then printed it in ABS.

    Next Steps

    This design works but is large so we're going to have to find a smaller and simpler way to sort game pieces. In the future, we're going to minimize this and probably move to a smaller sorting mechanism.

    Designing Wheel Mounts

    29 Sep 2018

    Designing Wheel Mounts By Justin

    Task: Create wheel mounts for our Mini-Mecanum chassis

    Today, we modeled two possible designs for mini-mecanum wheel mounts. The purpose of the mounts is to hold a churro or hex shaft in place to mount mecanum wheels to. The first design was a 6cm by 6cm square with rounded edges that was 5mm thick. A hexagon was removed from the center to hold the churro that supports the mecanum wheel. This design, when printed on low infill, allowed the churro to rotate when enough force was applied. We modeled this design off of the wheel mounts on Kraken and Garchomp; the only differences are the size and material. Because we will be 3D printing these mounts, material efficiency is very important. This mount design used a lot of material to make a prototype, meaning a finished stable mount would need even more material to prevent the churro or hex shaft from slipping.

    Taking these problems into account, we designed a different way to mount the wheels. The new version can mount underneath a REV Rail and hold the shaft or churro perpendicular to the rail. This design uses much less infill than the previous one because of how small the mount is, and because the REV Rail also acts as support to prevent the churro or shaft from spinning. The mount also allows the mini-mecanum wheels to be mounted as close to the frame as possible, which can help make the robot more compact. This design will allow us to easily mount mini-mecanums to our frame, while using minimal filament and taking up very little space.


    Next Steps

    We need to build the full mini-mecanum robot to judge whether these designs will fully work.

    Iron Reign Grants!

    30 Sep 2018

    Iron Reign Grants! By Ethan

    Task: Detail the grant awards that Iron Reign and its associated teams received ($11k)

    So, Iron Reign is currently training an influx of new members - so much that we've started two new teams: Iron Star Robotics and Iron Core. Of course, with this programmatic growth comes plenty of growing pains. A major part of that is finding funding for new teams. In that regard, Iron Reign applied for grants for itself as well as for its other 3 feeder teams. Namely, we applied for the TWC grant(s) and the FIRST in Texas Rookie Grant (sponsored by DEKA) for the new teams.

    Today we reaped our results: we received $525 in funding for Iron Reign and Imperial and $1,525 for Iron Star and Iron Core from the Texas Workforce Commission, as well as $1,000 for Iron Star and Iron Core from DEKA. In addition, we've currently received $4,000 from the DISD STEM Department and $2,500 from Mark Cuban, for a cumulative total of $11,400 raised this season.

    Next Steps

    Even though this is a hefty amount of money - one of the largest hauls made by Iron Reign - it still isn't satisfactory. We now have two more teams, increasing Iron Reign's expenses and stretching simple resources such as 8mm M3s thin. So, we will always be seeking more funding.

    Designing the Corn Cob Aligner

    05 Oct 2018

    Designing the Corn Cob Aligner By Ethan and Abhi

    Task: Design an aligner for the beater bar intake

    The ice cube tray is 9 holes wide and each hole is 16.50mm wide and long. Using these measurements, we created an aligner that would cause the ice cube tray to roll into a cylinder.

    We're designing an intake that will allow the robot to intake particles, and this is a major portion. This will allow us to increase the amount of friction put on the particles, allowing for a more secure grip.

    However, this system has issues. First, we wanted the edges to still be mildly compliant, and this wheel filled out the edge rows to full depth, making them a little too tough. Plus, they made the silicone height too variable, so that we couldn't solely pick up the balls. So, we designed a second aligner with shorter spokes so that the edges would be fully compliant while still being held securely.

    Next Steps

    We need to finish up the corn-cob beater bar, but after that we'll be able to start testing.

    Corn-Cob Intake

    06 Oct 2018

    Corn-Cob Intake By Ethan and Abhi

    Task: Design an intake system unique for balls

    Right now, we're working on a static-deposit system. The first part of this system is having an intake mechanism that passively differentiates the balls and cubes, reducing complexity of other parts of the design. Thus, we created the corn-cob intake.

    First, we bought ice-cube trays. We wanted a compliant material that would grip the particles and be able to send them into a larger delivery mechanism.

    Then, we designed a wheel which' spokes would fit into the holes on an ice cube tray, allowing the tray to stay static while still being compliant in a cylindrical shape. Then, we can put axle hubs through the center of the wheel, allowing us to mount the wheels on a hexagonal shaft. Then, we can mount a sprocket on that, allowing the bar to be rotated for intake. This bar is mounted at the height of the balls, not blocks, so we can passively sort the minerals in-action.

    Next Steps

    We need to mount this on our robot and design a way to deliver the field elements. We're also going to go into more detail on the ice cube mounts in a later blog post.

    Team Marker Fun

    06 Oct 2018

    Team Marker Fun By Karina

    Task: Create the Team Marker

    Last week, we decided to take up the task of creating the team marker, a simple project that would surely be overlooked, but can score a significant amount of points. We wanted the marker to be meaningful to the Iron Reign, but also follow the team marker rules. To start, we made a list of ideas:

    Last season, Ducky (as seen in idea #4) brought Iron Reign good luck whenever the drivers squeezed them, and so we knew that we wanted to incorporate Ducky into whatever the final product would be. Some team members suggested fusing together multiple rubber duckies to fit the dimensions in the rule book. I had a better idea. I thought, "Why not put Ducky in a box?" However, trapping Ducky in a box would prevent us from ever squishing Ducky again (as long as they are trapped in the box). But then an even better idea came up: "Why not put Ducky in a cage?" And so we got to work making a cage for Ducky, one that we could release them from or reach in to whenever we need a squish for good luck.

    We cut two pieces of 3.5 inch x 3.5 inch polycarb to serve as the ceiling and floor of the cage. Then we used 8 standoffs, in pairs of two at each corner of the cage, to serve as the bars. To not waste anymore standoffs, we used zipties as the cage bars. Additionally, the flexibility of the zipties allow us to squeeze Ducky out of the cage from in between the bars. In the end, Ducky looked like the most happy prisoner we've ever seen:

    Next Steps

    With the team marker built, we need to test how well it does its job (staying in one piece for the duration of a match hopefully). It's survived many nights now in the our coach's house, which is no small feat, with all the children running about and constantly misplacing things. Once we have an intake system working for the minerals, we will need to test how compatible it is with Ducky in a Cage. Lastly, we need to decorate Ducky's cage, including our team's number (6832).

    Another Design Bites the Dust

    06 Oct 2018

    Another Design Bites the Dust By Ethan

    Task: Discuss a new rule change

    At one point, we were thinking about creating a "mining facility" robot that stays static within the crater and delivers the blocks into the mining depot. In our eyes, it was legal as it would hold as many blocks as possible inside the crater but only deliver two at a time outside. It would be super-efficient as we would be able to stay within the crater, and not need to move.

    However, fate has struck. Earlier this week, we received this message:

    The rule limiting control/possession limits of minerals has been updated to indicate that robots may _temporarily_ hold more than 2 minerals in the crater, but must shed any excess over prior to performing any other gameplay activities (which would include scoring).
    says that "Robots In a Crater are not eligible to Score Minerals". Per the definitions of "In" and "Crater", if _any_ portion of a Robot is in the vertical area above the crater (extending from the field walls to the outside edge of the Crater Rim), then scoring a Mineral results in a Major Penalty.
    says that Robots may not obstruct another Robot's path of travel in the area between the Lander and a Crater for more than 5 seconds.

    This means that we couldn't do a static mining facility as we cannot score within the crater. Since we'd have a portion of the robot always in the crater, the existence of our robot would be a major penalty.

    Next Steps

    So, we need to rethink our robot. We still want to create a semi-static robot, but we need to redesign the intake portion.

    Labelling Minerals - CNN

    06 Oct 2018

    Labelling Minerals - CNN By Arjun and Abhi

    Task: Label training images to train a Neural Network

    Now that we have software to make labeling the training data easier, we have to actually use it to label the training images. Abhi and I split up our training data into two halves, and we each labeled one half. Then, when we had completed the labeling, we recombined the images. The images we labeled are publicly available at https://github.com/arjvik/RoverRuckusTrainingData.

    Next Steps

    We need to actually write a Convolutional Neural Network using the training data we collected.

    Meeting Log

    06 Oct 2018

    Meeting Log October 06, 2018 By Charlotte, Kenna, Janavi, Ethan, and Arjun

    Meeting Log October 06, 2018

    Code Testing with Arjun

    Today's Meet Objectives

    We set up some tables with FTC Starter Kits for our new recruits so we can give them an introduction to building with REV parts. We want to continue research & design and build for Iron Reign. There is a scrimmage coming up in a few weeks, so we want to have a working chassis by then.

    Today's Meet Log

    • Chassis build
    • Kenna and Janavi worked on a chassis. We hope to mount the linear slides we completed last time onto this chassis and hopefully use it for our first scrimmage. We had a frame for the chassis done last time, and this time we added motors and one of four wheels. Hopefully, the chassis will be complete by next week and then we can run some test to determine whether or not it will be a viable chassis for competition use. If we deem that it is worthy, there are a few problems we need to fix before competition day. Notably, the chassis doesn't fit within the sizing cube, as it measures 17 in x 18 and 1/16th in. Our chassis decision process can be found at (E-16, Choosing Drive Train).

      Kenna with the chassis frame (pre-motored)

      Kenna and Janavi installing the motors
    • Engineering journal discussion
    • We discussed what we want to improve in our engineering notebook this year. In previous years, one of our greatest weaknesses has been the lack of mathematical analysis in our blog posts, so this year we are going to focus on doing more parts testing and incorporate statistics and physics from those tests into our blog posts.
    • Intake prototyping and design
    • Ethan has been working on prototyping with grabbers. Abhi designed and printed parts to mount our "corn on the cob" material, and Ethan put it together and made a small frame to put it on so we can test it. To see more about the intake aligner, see (E-31, Designing the Corn Cob Aligner). To see more about "corn on the cob," see (E-32, Corn-Cob Intake).

      Ethan working on the blog

      Ethan with the "corn on the cob"
    • Gantt Chart
    • Today, I made some real progress on our team "Gantt" chart. We hope to utilize such a chart in order to improve team organization and structure. Hopefully, this will prevent certain subteams from falling behind and we will not be rushed right before competitions as that has happened a lot historically.
    • Code testing and CNN training
    • Once he updated the FTC app, Arjun he tested our code with the new update on Kraken, our robot from last year. He also took 72 pictures of the minerals for training of a convolutional neural network. He began compiling those images and will work on the neural network in the coming weeks. See more about our CNN training process in (E-21, CNN Training)

    Today's Member Work Log

    Team MembersTaskStart TimeDuration
    CharlotteBlog and organization2:004 hrs
    EthanWorking on blog2:004 hrs
    KennaRobot build2:004 hrs
    JanaviRobot build2:004 hrs
    ArjunCode updates2:004 hrs

    Upgrading to FTC SDK version 4.0

    06 Oct 2018

    Upgrading to FTC SDK version 4.0 By Arjun

    Task: Upgrade our code to the latest version of the FTC SDK

    FTC recently released version 4.0 of their SDK, with initial support for external cameras, better PIDF motor control, improved wireless connectivity, new sensors, and other general improvements. Our code was based on last year's SDK version 3.7, so we needed to merge the new SDK with our repository.

    The merge was slightly difficult, as there were some issues with the Gradle build system. However, after a little fiddling with the configuration, as well as fixing some errors in the internal code we changed, we were able to successfully merge the new SDK.

    After the merge, we tested that our code still worked on Kraken, last year's competition robot. It ran with no problems.

    Mining Base 2.0

    07 Oct 2018

    Mining Base 2.0 By Ethan

    Task: Rethink our static robot idea

    So, our dream this year is to create a static robot. Last week, we found out about a rule change that would prevent our mining robot from staying within the crater. Naturally, we found a way around this, leading us to the Mining Base 2.0.

    The robot will be fixed under the lander's hooks, and have a horizontal and vertical linear slide attached to it. The horizontal linear slide would reach over the crater walls and pick up the silver balls, and shoot them up towards the lander. On the lander, our vertical linear slide would create a backboard that would allow the balls to fall into the lander. This wouldn't violate the rules as we wouldn't be in the crater. And, it would give us the benefit of having an extremely high-scoring robot.

    Next Steps

    We need to start on the designs of this robot, but to do this, we first need to create a working chassis.

    Project Management

    10 Oct 2018

    Project Management By Charlotte

    Task: Improve Iron Reign's team organization and time management

    Iron Reign sometimes struggles with our team organization and time management. There have been many instances where we have fallen behind in different subteams due to this lack of organization. This year, in order to tackle this downfall, we are going to put an emphasis on project management.

    We started a project in a program called Team Gantt. We learned how to use this program from watching the many tutorials in the program and by trial and error. In our project, we have made task groups that represent our subteams, such as build, code, etc. You can see this in the image above, but I did not include the whole chart to not expose any team secrets. A project manager will be in charge of keeping these subteams on track with the chart, and will update it accordingly along with periodic meetings regarding the chart and our progress. Hopefully, this will really help us in our team organization so that we don't fall behind this season.

    Next Steps

    Continue the use of our Gantt chart in order to improve our organization and give us a big-picture view of our progress for the rest of the season.

    BigWheel+

    13 Oct 2018

    BigWheel+ By Evan

    Task: Continue work on BigWheel

    BigWheel has gone through a few major changes. First and foremost, it now has a flipper arm, AKA Superman. Since the robot itself is the lift mechanism, we had to put a lot of work into Superman's design. Right now it is a 10 inch REV rail attached to two 125-tooth gears for redundancy, with a custom 3D printed mount housing an pair of omniwheels on the other end. On the motors, we have two 15-tooth gears, resulting in a 3:25 gear ratio. This gives us a ridiculous amount of torque that lifts the robot up smoothly. On top of the flipper, we’ve added extra supports on the arm mounts, as when we went to the Hendricks scrimmage, we found that the two sides were out of alignment, and one was bending more forward than the other, making the arm bend unevenly to one side and throwing the whole robot out of alignment.

    The next step is to strengthen the arm itself, as the two sides have a tendency to want to do their own things, mainly the side with the intake motor mounted to it. Since the supports have been put in though, Bigwheel has been functioning much better, and the arm no longer flops to one side. General wire management has also taken place, as we'd dealt with wires getting stuck in the gears.

    Next Steps

    Bigwheel was built on a bit of a shabby base, mostly being made of a piece of polycarb and some aluminum bars, and not giving much in terms of change. We’ve cut here and there, drilled a few holes, unattached and re-attached a couple of things, but in all it’s a very stiff robot, and doesn’t lend itself to fluidity of design. That’s why we plan on making a second version of this base, hopefully with thinner polycarb and more secure sides that have been welded together but can be removed more easily. The exact design is still being modeled, but we have a direction to jump off from, and I believe we can make that leap to a better robot.

    Developing a CNN

    13 Oct 2018

    Developing a CNN By Arjun and Abhi

    Task: Begin developing a Convolutional Neural Network using TensorFlow and Python

    Now that we have gathered and labeled our training data, we began writing our Convolutional Neural Network. Since Abhi had used Python and TensorFlow to write a neural network in the past during his visit to MIT over the summer, we decided to do the same now.

    After running our model, however, we noticed that it was not very accurate. Though we knew that was due to a bad choice of layer structure or hyperparameters, we were not able to determine the exact cause. (Hyperparameters are special parameters that need to be just right for the neural network to do well. If they are off, the neural network will not work well.) We fiddled with many of the hyperparameters and layer structure options, but were unable to fix the inaccuracy levels.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    model = Sequential()
    model.add(Conv2D(64, activation="relu", input_shape=(n_rows, n_cols, 1), kernel_size=(3,3)))
    model.add(Conv2D(32, activation="relu", kernel_size=(3,3)))
    model.add(MaxPooling2D(pool_size=(8, 8), padding="same"))
    model.add(Conv2D(8, activation="tanh", kernel_size=(3,3)))
    model.add(MaxPooling2D(pool_size=(8, 8), padding="same"))
    model.add(Conv2D(4, activation="relu", kernel_size=(3,3)))
    model.add(Conv2D(4, activation="tanh", kernel_size=(1,1)))
    model.add(Flatten())
    model.add(Dense(2, activation="linear"))
    model.summary()
    

    Next Steps

    We have not fully given up, though. We plan to keep attempting to improve the accuracy of our neural network model.

    Meeting Log

    13 Oct 2018

    Meeting Log October 13, 2018 By Charlotte, Janavi, Ethan, Arjun, Abhi, Justin, and Karina

    Meeting Log October 13, 2018

    Sumo bots at SEM STEM Spark

    Today's Meet Objectives

    Today we are taking part in a massive outreach event to teach STEM to girls all over North Dallas: SEM STEM Spark. However, we do have competitions/scrimmages coming up really soon, so we wish to get some substantial building done. See more about the event at (T-22, SEM STEM Spark).

    Today's Meet Log

  • Chassis build
  • We scrapped the chassis we worked on last meeting because of it lack of mounting points and poor assembly. Janavi started with just some extrusion rails and mounted some motors and wheels for a new new chassis. Hopefully we will have a working chassis by the time of the scrimmage.
  • CNN Training
  • Arjun continued to work on a convolution neural network, which, once the network is complete, we will compare with Open CV. We have used Open CV for our computer vision algorithms for a couple of years, but we are now looking into other options to see if CNN will be a more accurate method of differentiating between field elements. A summary of our vision decisions can be found at (E-81, Vision Summary)
  • SEM STEM Spark outreach
  • Besides working on the chassis and a CNN, most of us taught and shared our passion for STEM at the event. The event was 10 hours long, so it was a long haul, but we had a really great time and the girls did too.

    Today's Member Work Log

    Team MembersTaskStart TimeDuration
    CharlotteOutreach8:0010 hrs
    EthanOutreach8:0010 hrs
    JanaviBuild8:0010 hrs
    ArjunConvolution Neural Network8:0010 hrs
    AbhiOutreach8:0010 hrs
    KarinaOutreach8:0010 hrs
    JustinOutreach8:0010 hrs

    Recruitment Update

    13 Oct 2018

    Recruitment Update By Ethan

    Task: Plan for 30+ influx of team members

    So, as we've stated in prior posts, this year has been a successful year for recruitment. We have had 30 total signups, up from -5 last year. This wave of new recruits means that the Iron Reign family must grow. So, in addition to Iron Reign and Imperial Robotics, we are introducing TWO new teams to North Texas and the Iron Reign family.

    To accommodate this influx, we are changing the organizational structure of SEM Robotics a tad. Iron Reign will remain the varsity team, and as such, will be responsible for tutoring and assisting the other teams, as well as other organizational decisions. Then, Imperial will now be the JV team, and be the intermediate training ground. You can see their efforts over at https://imperialrobotics.github.io/. Finally, we have the two new additions: Iron Star Robotics and Iron Core. Iron Star Robotics is a self-formed, co-op team of motivated freshmen; the other is a more lax training team.

    We'll deliver tutoring updates and joint outreach events on this blog, as well as our usual content. Everything claimed in this engineering notebook will be Iron Reign (6832) only, and we will hold the same standard of separation to the other teams.

    Next Steps

    We will tutor the new teams and identify the promising recruits. For ongoing tournaments and eliminations, we will recompose new teams of the most promising members.

    SEM STEM Spark Preparation

    13 Oct 2018

    SEM STEM Spark Preparation By Charlotte, Ethan, Janavi, Abhi, Karina, and Justin

    Task: Prepare for and set up SEM STEM Spark

    The National Honor Society at our home school, the Science and Engineering Magnet, has been working hard to prepare for the upcoming SEM STEM Spark event for middle school girls in North Dallas that they have been planning for since last May. A few of our very own members are members and leadership in NHS and have been working to include our robotics outreach as a featured activity as well as working with other activities we are passionate about, such as chemistry and environmental science.

    In the past few weeks, we have confirmed a spot for our outreach in the event and have been trying to recruit middle schools girls to attend the event. A few members even visited the middle schools they attended and spoke to their old science teachers to share information about the event and hand out fliers. Due to some complications, we weren't able to get registration for the event up until a week before, so recruitment has been a struggle and is very time sensitive. Our numbers are increasing quickly though, so we have hope that the event is going to be a success.

    The event is tomorrow, and today we spent a few hours setting up. On our day off, we went to our school and organized all of the materials we collected as donations along with those we bought with our own funds. We ran through each activity to ensure that they would fit in the allotted time frames. Everything seems to be running smoothly and we are ready for the event tomorrow. Fingers crossed! :)

    Next Steps

    We are very excited to run this event and have learned a lot from the work we have put into organizing it.

    SEM STEM Spark

    13 Oct 2018

    SEM STEM Spark By Ethan, Charlotte, Janavi, Abhi, Karina, Justin, Bhanaviya, and Alisa

    Task: Volunteer at SEM STEM Spark, a girls-in-STEM event

    For the past year, members of Iron Reign have been planning this event and getting approval. For those not-in-the-know, this event is a women-only STEM event with a guest panel and four different stations: environmental science, chemistry, engineering, and robotics. Iron Reign members had a hand in planning and assisting with 3/4 of these, as well as general logistics. However, most of this is detailed in prior posts - this post is for the actual event.

    Today, we talked to 140 girls in groups of 12-18, allowing us to be able to focus more intensely in our sessions and get more done. We taught them the 3D-printing program and sumobots. Finally, we had a member present as a panel member as a woman in STEM.

    Next Steps

    This event was a great success, and we plan to do more like these in the future. At the moment, we have a date set in March for a second event with entirely new activities.

    Travis High School Night

    16 Oct 2018

    Travis High School Night By Ethan, Evan, Kenna, Charlotte, and Karina

    Task: Present about Iron Reign to 120 prospective members

    Today, we went to the Travis H.S. Night to talk to prospective freshmen about our robotics team. The format of the night was this: four twenty-five minute periods, with twenty minutes about SEM and five minutes about robotics. To fit this time schedule, we condensed our usual recruitment presentation down to five minutes while also demoing our former Worlds robot, Kraken. We mainly talked about the main points of FTC: being well rounded, the emphasis on writing, business, and the like. Then, we answered questions from the audience for the rest of the time. Overall, we presented to about 120 parents and students.

    Next Steps

    We plan to hold more presentations and outreach events in the future. We've already stepped our recruitment game up, so events like these are crucial.

    Mini Mecanum Chassis

    19 Oct 2018

    Mini Mecanum Chassis By Janavi and Justin

    Task:

    Over the summer, we designed many robots for the North Texas Chassis Project, including one based off of last year's Worlds robot, Kraken. The robot chassis had 6" mechanums. But, based on what we know about this years challenge we have decided that this chassis does not utilize the 18-inch cube effectively.

    We have chosen to design a chassis that is similar in function to Kraken, but smaller in size with 4" mecanum wheels.

    Our plan is to design a low-lying 6" x 6" robot, a marked difference from the usual 18". However, this new design means that many of our 3D printed parts are unusable on this robot; for example, our former wheel mounts are much too large for the new robot and wheels, as well as their corresponding axles.

    These bearings are hexagonal, requiring a new wheel mount design.

    Justin first designed the axle plate below to solve this, but it raised the robot off the ground quite a bit, risking debris becoming stuck under the bot. As well, it was flimsy - it was mounted too far from the robot. We went back to the drawing board and brainstormed various methods we could use to attach the axle the frame in a more secure way; we found that we use a pillow block design would save space, while also having a lower-lying robot. This design worked out beautifully, leading to the design we are currently using.

    The axles and wheels aren’t the only new thing about our robot: we've switched to NeverRest 20s in lieu of our normal 40s and 60s. This is another reason that we wanted to create such a minute robot. The gear ratio combined with the size will make this robot a speed demon on the field and allows us to dart between the minerals and the depositing location quickly.

    Next Steps

    In the upcoming weeks we will continue to tinker with this chassis design by adding a linear side and our gathering mechanism, and hopefully, we will be able to demonstrate it at the scrimmage next week.

    MXP Expansion - $150,000 Grant

    20 Oct 2018

    MXP Expansion - $150,000 Grant By Ethan

    Task: Plan for major grant to fund replacement of MXP ($150k)

    First, for a brief backstory: Iron Reign built the MXP - or Mobile Learning Lab - two seasons ago so that we could do outreach to underserved areas within our community. To do this, we partnered with BigThought, who received grants for laptops and technology aboard the vehicle. We spent that entire summer renovating an old 90's RV so that it could become the Mobile Learning Lab. Then, last season, we presented at the National Science Teachers' Association in Kississimee, Florida, where we talked to educators in five other cities to start their own similar programs.

    Now, let's return to the present season. As of today, BigThought is receiving $150k in funding to create a second Mobile Learning Lab. This funding is all-inclusive: the RV and technology aboard. As far as we know, this is the single largest fundraising haul any FTC team has ever received. Now, let me be clear, this is not funding to team costs such as registration and parts, but rather a larger-scale programmatic fund to continue and increase Iron Reign's outreach frequency. Luckily for us, we've secured a lot of funding this season already through Mark Cuban, individual donors, and FIRST in Texas grants.

    Now, here comes the less-so-good news. Even though $150k is a monumental sum of money, it still falls short of the cost of a new MXP, by about $100k. However, the guarantee of over half of the necessary funding makes it much more likely that the additional funds will be secured to purchase the brand-new vehicle.

    Next Steps

    So the next steps are obviously to work with BigThought to find the additional $100k, but this is still huge - we may have broken a fundraising record. And besides that, this is what Iron Reign has always worked for: the platonic ideal of outreach. We have the ability to expand our program, make it more comprehensive, and make it sustainable on it's own merit.

    Rewriting CNN

    20 Oct 2018

    Rewriting CNN By Arjun and Abhi

    Task: Begin rewriting the Convolutional Neural Network using Java and DL4J

    While we were using Python and TensorFlow to train our convolutional neural network, we decided to attempt writing this in Java, as the code for our robot is entirely in Java, and before we can use our neural network, it must be written in Java.

    We also decided to try using DL4J, a competing library to TensorFlow, to write our neural network, to determine if it was easier to write a neural network using DL4J or TensorFlow. We found that both DL4J and TensorFlow were similarly easy to use, and while each had a different style, code written using both were equally easy to read and maintain.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    java
    		//Download dataset
    		DataDownloader downloader = new DataDownloader();
    		File rootDir = downloader.downloadFilesFromGit("https://github.com/arjvik/RoverRuckusTrainingData.git", "data/RoverRuckusTrainingData", "TrainingData");
    		
    		//Read in dataset
    		DataSetIterator iterator = new CustomDataSetIterator(rootDir, 1);
    		
    		//Normalization
    		DataNormalization scaler = new ImagePreProcessingScaler(0, 1);
    		scaler.fit(iterator);
    		iterator.setPreProcessor(scaler);
    		
    		//Read in test dataset
    		DataSetIterator testIterator = new CustomDataSetIterator(new File(rootDir, "Test"), 1);
    			
    		//Test Normalization
    		DataNormalization testScaler = new ImagePreProcessingScaler(0, 1);
    		testScaler.fit(testIterator);
    		testIterator.setPreProcessor(testScaler);
    		
    		//Layer Configuration
    		MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
    				.seed(SEED)
    				.l2(0.005)
    				.weightInit(WeightInit.XAVIER)
    				.list()
    				.layer(0, new ConvolutionLayer.Builder()
    						.nIn(1)
    						.kernelSize(3, 3)
    						.stride(1, 1)
    						.activation(Activation.RELU)
    						.build())
    				.layer(1, new ConvolutionLayer.Builder()
    						.nIn(1)
    						.kernelSize(3, 3)
    						.stride(1, 1)
    						.activation(Activation.RELU)
    						.build())
    				/* ...more layer code... */
    				.build();
    

    Next Steps

    We still need to attempt to to fix the inaccuracy in the predictions made by our neural network.

    Intake Update

    20 Oct 2018

    Intake Update By Ethan, Abhi, Justin, and Kenna

    Task: Update the intake for the new robot size

    We created the corn-cob intake a few weeks ago. Unfortunately, it was a little too big for the Minichassis, so we had to downsize. So, we designed Intake Two. Continuing our history of using kitchen materials to create robot parts, we attached two silicone oven mitts to a beater bar equipped with Iron Reign's REVolution system. Then, we attached a REV Core Hex Motor to the design, then added a 2:1 gear ratio to increase the speed, as the motor wasn't exactly what we wanted.

    Then, we attached our new passive sorting system. Instead of being the old, bulky sorting system, the new system is just three side-by-side bars spaces 68mm apart with tilted wings to move blocks upwards. The 68mm number is important - the size of a gold block. This allows the balls to be struck and fly upwards into the intake while sliding the blocks through the system.

    Next Steps

    We need to attach this to the robot to test intake. The most likely way this'll be done is through a pivot over the walls of the crater from the top of the robot.

    Meeting Log

    20 Oct 2018

    Meeting Log October 20, 2018 By Charlotte, Kenna, Janavi, Ethan, Arjun, Justin, and Abhi

    Meeting Log October 20, 2018

    Juggling the minerals

    Today's Meet Objectives

    Our first scrimmage is next weekend, so we need to complete our chassis and some sort of intake system. Every member needs to take on their own portion of the robot so we can divide and conquer to end today's meeting with a working robot.

    Today's Meet Log

  • Mini-Mech chassis build
  • Finally, we have a chassis. We used small mechanum wheels and a small rectangular frame which is very unusual for Iron Reign with our history of 18 in x 18 in robots. The chassis that Janavi build last weekend during the outreach event was a square, but we needed to make it rectangular to make room for motors. See more on mini-mech at (E-42, Mini Mechanum Chassis).
  • Linear slide build
  • Janavi and Justin worked on the linear slides that Janavi has been working on for a few weeks. Before, we had tested and mounted the slide to an existing chassis, but there were some improvements to be made. They changed the length of the linear slide from using 18 in rails to 12 in rails and added stops so that the slide don't slide out of each other. They also strung the slides so that they can extend and retract depending on the direction of rotation of the wheels.

    Janavi, Justin, and some slides
  • Code mentorship
  • Arjun worked with a few members from Iron Star and Iron Core so that they could start programs for the robots they have been working on. A few weeks ago, Abhi gave them an introduction to coding, but Arjun helped them from the very beginning of making a new project and writing their first lines of code. Iron Reign has been utilizing GitHub for many years and we have found it very helpful, so we helped the other teams set up their own GitHub repositories and taught them how to use it.

    Arjun and the phone mount

    Teaching freshmen GitHub
  • Intake system build
  • Ethan and Abhi worked on our intake system. We are using silicone mats for kitchen counters to launch field elements into our intake system. The minerals then are filtered through 3 bars, each space by 68 mm so that balls roll over and cubes fall in. They completed the intake mechanism, but their greatest challenge is fine tuning the sorting bars and finding a way to mount it onto the chassis. Eventually, we wish to make the system pivotable, but for now we mounted it to the chassis so that it is stationary. Details about this intake system can be found at (E-44, Intake Update).

    Intake mechanism with red silicon mats

    Today's Member Work Log

    Team MembersTaskStart TimeDuration
    CharlotteBlog and organization2:004 hrs
    EthanWorking on blog and intake build2:004 hrs
    KennaRobot build2:004 hrs
    JanaviLinear slide and chassis build2:004 hrs
    ArjunBuild and mentoring2:004 hrs
    KarinaRobot Build2:004 hrs
    AbhiIntake Build2:004 hrs

    Off-Schedule Meeting Log

    23 Oct 2018

    Off-Schedule Meeting Log October-2 23-2, 2018-2 to October 23, 2018 By Ethan, Karina, Charlotte, Kenna, Arjun, and Evan

    Meeting Log October 21 to October 23, 2018

    Iron Reign will be attending a scrimmage on Saturday, but to attend a scrimmage, you usually have to have a working robot. As of Saturday, we did not. So, a few of our members elected to come in on Saturday to do some last minute robot additions.

    Sunday Tasks

    • Attached lift
    • We've had a linear slide that we've been meaning to hook up to the robot for awhile, and we finally did it Saturday. We mounted it to the front of the robot, as it was the easiest access point, then mounted a motor and pulley on the side to extend it. It worked - and then it didn't - as it tangled itself inside the motor, necessitating a redesign.
      Then we realized a more pressing issue. Since torque is equal to force * arm length (T=FR), and the force on our robot is only the force due to gravity (F=mg), we had a torque on the lift equal to T=mgR. Then, as the lift was mounted at the very end, the torque on the arm was at its absolute maximum. And, while we're confident in our building ability, we're not that confident. So, we realized that we'd have to move the lift closer to the middle to minimize torque.
    • Finished intake
    • On Saturday, we worked on the red-silicone intake system, but there were still issues. We used too-long screws to mount the motor that cut into the sprocket, we mounted the fins a little to far out so that the silicone was running into them and losing energy, and we didn't have a way to mount it. First, we replaced the 15mm M3 screws with 8mm ones, ensuring that there would be no further collision. Then, we removed the beams the fins were mounted on and replaced them with a simple crossbar the we directly mounted the fins to. That way, we could adjust all of the fins at once instead of individually cutting each beam.
    • Second stage
    • Our robot is a little on the small side for Iron Reign. To mitigate that, we planned to add a second stage to the robot for support and to hold components like the second REV hub. So, we started on that, cutting the standoffs, and attaching one side completely so that we could use it as a proto-phone-mount.

    Monday Tasks

    • Moved lift
    • To minimize torque, we moved the lift to the center of the robot. Now, this won't eliminate the torque - one side of the robot is much heavier than the other, but it makes it much more manageable.
    • Mounted intake
    • To have a functional robot, we have to have an intake *on the robot*. We had an intake, but it certainly wasn't anywhere close to being on the robot. So, we mounted a Core Hex Motor to the inside of our robot, attached a gear to our robot then bolted a second gear to our intake. Then, we attached the gear to a churro rail mounted on the robot and moved the motor to where the gears coincided. Originally, we planned to use a 30->90 gear system for a 1:3 gear ratio for a calculated 9.6 Newton-meters of torque, but this systed wouldn't fit within the size constraints, so we had to settle for a 1:1 ratio at 3.2 N*m.
    • Mounted 2nd arm
    • On our other robot, Bigwheel, we mounted the 2nd arm for a future beater bar. Unlike most of our robots, this one is mostly off-the-shelf, with some additional Textrix parts and a REV hub.

    Tuesday Tasks

    • Finished 2nd stage
    • To be able to support our additional motors, we had to add a second REV hub. And, to do that, we had to finish the 2nd stage. This wasn't that difficult, all we had to do was attach a standard piece of REV extrusion to the remaining standoffs, then add a REV hub mount, then mount the actual hub.
    • Reinforced lift
    • Our lift is a little bit wobbly laterally, so we took steps to fix this. We attached a small piece of REV rail to the second stage from the lift to minimize wobbling. This still needs to be worked on, as the rail isn't mounted well, but we'll burn that bridge when we get to it.
    • Strung lift
    • Since our lift needs to extend and retract reliably, we have to use a double-pulley system. So, we strung upwards normally, but then attached another string to a higher up pulley that could pull the whole system back down.
    • Replaced lift motor
    • Our old pulley-motor was an AndyMark Neverrest 60. Now, we have nothing against these motors, but we wanted something that would be easier to connect to the REV hub. So, we replaced it with a HD Hex Motor with a 40:1 gearbox. This actually increased the torque by a negligible amount (from 4.186 N*m to 4.2 N*m), and was a more convenient change.
    • Added scoring box
    • Originally, we cut a box template out of polycarb that was the exact size of two silver particles. Unfortunately, we couldn't find a heat gun, so we had to go back to cardboard.
    • Added intake bar
    • We added the corn-cob intake from a few weeks ago onto this robot so that it can get both blocks and balls from over the crater wall.

    Now, in theory, we have a competition-ready robot.

    Before

    After

    Next Steps

    We still need to program our robot and fix any gremlins that pop up; this will happen at the Friday meet.

    DISD Scrimmage at Hedrick MS

    27 Oct 2018

    DISD Scrimmage at Hedrick MS By Charlotte, Janavi, Ethan, Evan, Justin, Karina, and Abhi

    Task: Compete at the Hedrick MS DISD Scrimmage

    Today, Iron Reign competed in the DISD scrimmage at Hedrick Middle School. This was the first scrimmage of the year, so experienced teams and rookie teams alike struggled to get a working robot on the field. We go to this scrimmage every year, and it helps us gage just how much needs to be done to have a qualifier-ready robot. This year, that is a lot. We actually had two robots relatively pieced together, a main chassis and a backup, but we didn't account for many different problems that rendered them inoperable. In the case of the backup robot, the linear slide fell apart easily and was threaded so that it could only extend, and not retract. In the case of the actual robot, most of our problems stemmed from the intake system. Since we built it so recently, we were never able to write any code until in the final few days of preparation. We weren't able to debug the code and it has caused many complications in our robot. Our drive train also had many issues which we have been trying to fix and fine tune.

    Due to these many issues, we did not compete for most of our matches. We spent a lot of time working on our bots and talking to other teams about their progress and plans for the season, as well as see all of the interesting ideas they have put together in fruition in a game setting. In the match we did compete in, we did very badly due to driver error and mechanical errors in the drive train.

    Dallas Chamber Leadership Council

    30 Oct 2018

    Dallas Chamber Leadership Council By Kenna, Janavi, Abhi, and Ethan

    Presenting to Leadership Dallas Class of 2019

    Today, we presented to the Leadership Dallas program, run by the Dallas Chamber of Commerce, to fundraise for Iron Reign and BigThought's Mobile Learning Lab program to cover the remaining $100k gap as well as our school programs.

    There were 2 groups of about 10 people who learned about Iron Reign & FTC and toured SEM (Science Engineering Magnet) & its classes. There were employees from Big Thought, Uber, Turner Construction, Ernst & Young, and Channel 8 News. We'd especially like to name Stephanie from Channel 8 and Ryan Dyer for helping us get a website visit from Antartica. We'd been working on having a visit from all 7 continents for all of last year, and it finally came true!

    After that, they got a tour of a deployment-ready MXP, full of laptops, 3D printers, EV3's, and teaching monitors. They were very interested in our SEM education and how it ties into what we are able to do as a part of Iron Reign and FTC. We discussed using our physics experience to conduct experiments for the materials we use on our robot, and SEM's freshmen Java class to do IMU coding.

    We all loved how enthusiastic they were about improving Dallas and learning more about robotics in a high school education. It was a huge opportunity for us to spread STEM and FIRST to the Dallas community, and we hope to do so again in the future.

    Next Steps

    We were lucky enough to talk to Leandre Johns of Uber about what the opportunities they could offer our team and our community in helping underserved communities learn about STEM.

    BigWheel Arm

    02 Nov 2018

    BigWheel Arm By Evan

    Task: Design an arm for BigWheel

    Bigwheel’s intake arm is one of the most important parts of the robot. Since our scrimmage, we have learned how to make this arm much more efficient, starting with some supports. The original intake arm was made of two scrap Tetrix rails. The result of this was that the two sides of the arm would be out of sync, creating a twist in the arm that caused it to move oddly. Thus, it has been stabilized with cross beam REV rails.

    The next upgrade on the arm is going to be the box to hold the minerals. Right now it’s just a cardboard prototype and we need to move to the next version. After a bit of debate, we decided to craft it out of polycarb. The reason polycarb was not our immediate solution is because it’s unfortunately quite heavy, and instead the first thing we came to think of was thin plywood and duct tape. Thin slices of plywood would be taped together to create a fabric like box that still had form. This idea still lent itself to breakage, and we next went to a design using a thin plastic sheet, the same kind of plastic that is used inside milk cartons. The only issue is that it’s super weak and doesn’t form well, so we would have to build a frame for it, much like the plywood and tape.

    Next Steps

    Right now we’re toying around with the idea of an arm that not only flips out but also extends using a gear and tooth track made from Tetrix parts of days gone by. The reason for this is to gain a little extra height that we were lacking before in the robot and a little more flexibility when we grab minerals from the crater. To do this I had to take apart the arm from our first ever FTC robot, and use the toothed track and gear plus the extra long tetrix bars to create the slides. So far the slides are surprisingly smooth and we have high hopes for the future of the arm.

    Full Circle

    02 Nov 2018

    Full Circle By Evan

    A reflection on my time at Iron Reign

    In 2012 I began competing in FTC. That year our team built a robot with a giant central arm on top of a six wheeled drivetrain that sported a ring bucket that the rings would slot into one or two at a time. The idea was that we would go bit by bit, slowly moving the rings onto the rack in the middle. This was a mediocre idea in theory, but an even worse one in practice. I think in that entire season, we only were able to score one ring, and it was when I was by myself on a practice field before a match. The whole season had led up until that moment. It was the year I learned how to wire things, how to solder wires, how to use a bandsaw, a table saw, a miter saw, and how to really think about the real world applications of what I was doing. When I scored that ring, I was so happy. I told the whole team because this is what we had been trying to do for three months without success. We never scored another ring that season, despite being in first or second place at our qualifier (which is really just a testament to how heavily you can be carried in FTC). Since then i’ve worked on, designed, and built numerous competition robots, making a smooth transition from FLL to FTC, and i’ve been there for basically every major moment in our team’s history, from the very first meeting at the Virani household to our trip to the World championship competition in Houston where we won the Motivate award. I felt the same walking up on that stage and accepting the motivate with my team as I did back in 2012 scoring that one ring. That feeling of success and pride in my work. That’s why I keep doing FTC.

    I say all of this because today I had to take apart the arm of the first robot I ever built, and I thought it was a little poetic how I was using the robot I helped build in the my first season of FTC as part of the robot in my last season of FTC. It was weird. I don’t know. It was one of those rare full circle moments that you only ever get a few of and half the time you don’t even recognize them when they’re happening and never really get to appreciate them. It really just made me think back on all my years of robotics.

    Meeting Log

    03 Nov 2018

    Meeting Log November 03, 2018 By Ethan, Charlotte, Evan, Janavi, Kenna, Karina, Justin, Arjun, Abhi, and Bhanaviya

    Meeting Log November 03, 2018

    Today's Meet Objectives

    So, we have one week before our first tournament. This isn't great. As you can see on our last blog post, we didn't do amazingly at the scrimmage. So, we have a lot of work to do.

    Today's Meet Log

    First and foremost, we have to work on our presentation. So, we did an hour-long presentation runthrough to ensure all team members had the content down.

    Also necessary for a good tournament is the journal. We've had a consistent 10-20 post backlog since the season started, and we've finally started cutting into it. At my current count, we're down to 7 posts left. So, we're making considerable progress on this front. Ethan already finished our strategic plan earlier this week, so all we have left is to write the blurbs and retag our posts, something we'll do on Monday.

    Finally, in order to compete, we have to have a robot. Now, we have a robot, but it isn't really working. So, Evan and Karina worked on mounting an intake system, as well as reinforcing the center lever. This will ensure that the robot can actually score by the tournament.

    On the code side, Abhi found the coefficients for PID so that he can start autonomous. As well, he started merging SDK 4.2 with our 15k-line base of legacy code so that we can take advantage of TensorFlow. On that note, we discovered that SDK 4.2 comes with mineral detection out of the box with TensorFlow - something that we've been working on since kickoff.

    Finally, we have some good news. Iron Reign has official adopted its first new member of the season: Bhanaviya Venkat. Stay tuned for her first blog post later this week.

    Today's Work Log

    Team MembersTaskStart TimeDuration
    EthanPresentation\Journal2:004 hrs
    CharlotteBlog Backlog2:004 hrs
    KennaBlog Backlog2:004 hrs
    JanaviBigWheel Arm2:004 hrs
    ArjunBlog Backlog2:004 hrs
    KarinaBigWheel2:004 hrs
    AbhiAutonomous2:004 hrs
    EvanBlog Backlog2:004 hrs
    Justin3D Modelling2:004 hrs
    BhanviyaOnboarding2:004 hrs

    Pose BigWheel

    03 Nov 2018

    Pose BigWheel By Abhi

    Task: New Pose for Big Wheel robot

    Historically, Iron Reign has used a class called "Pose" to control all the hardware mapping of our robot instead of putting it directly into our opmodes. This has created cleaner code and smoother integration with our crazy functions. However, we used the same Pose for the past two years since both had an almost identical drive base. Since there wasn't a viable differential drive Pose in the past, I made a new one using inspiration from the mecanum one. Pose will be used from this point onwards in our code to setup.

    We start with initializing everything including PID constants and all our motors/sensors. I will skip all this for this post since this is repetitive in all team code.

    In the init, I made the hardware mapping for the motors we have on BigWheel right now. Other functions will come in later.

    Here is where a lot of the work happens. This is what allows our robot to move accurately using IMU and encoder values.

    There are a lot of other methods beyond these but there is just a lot of technical math behind them with trigonometry. I won't bore you with the details but our code is open source so you can find the necessary help if you just look at our github!

    Torque Calculations

    03 Nov 2018

    Torque Calculations By Karina

    Task: Calculate the torque needed to lift chassis

    After seeing how well the robots that could latch onto the lander performed at the scrimmage, Iron Reign knew that we had to be able to score these points. We originally tried lifting with a linear slide system on MiniMech, but it was not strong or sturdy enough for the small chassis, and would definitely not be a functional system on BigWheel in time for competition. And so we thought why not use this opportunity to *flex* on the other teams with an alternative design? An idea was born.

    We decided we would latch onto the lander using the same arm used for intake, and then pivot the main body of BigWheel up off of the ground about an "elbow joint", much like how humans do bicep curls. To do so, our motors would need to have enough torque to be able to lift the loaded chassis off the ground once the arm hooked onto the latch. First, we measured the mass of BigWheel. Then we found where the center of mass was located. The distance from the pivot point to the center of mass became our lever arm, also known as the radius.

    Calculating torque required knowing the forces acting on BigWheel at its center of mass. In this case, there was only the force due to gravity (F = mg). Before we could plug BigWheel's mass into the equation, we converted to units of kilograms (kg), and then used the value to find the newtons of force that would oppose the upward motion:

    Finally, we plugged the force and radius into the torque equation:

    Next Steps

    The next step is to test which gear train will output this torque value based on the motors used and the gear ratio.

    Linear Slide Lift

    04 Nov 2018

    Linear Slide Lift By Janavi

    Task: Design a lift for MiniChassis

    For extension both into the crater and lifting our robot up to the crater we have decided test a linear slide system. We plan to utilize linear slide system for both vertical and horizontal extension on MiniMech.

    Horizontal Extension Goals

    • Long Enough to reach Crater from distance
    • We need to determine how many stages we need

    Vertical Extension Goals

    • Long Enough to reach lander
    • Strong enough to support robot weight

    When designing a lift we need to determine the optimal gear ratio to allow our lift system to lift the robot but still do it relatively fast. Realistically looking at the aluminum parts we are using we plan for the robot to be around 35 lbs. We also know that the lander is 22 inches above the ground and we plan for the linear slide to extend to 14 inches off the ground This would mean that the point of rotation for our hook mechanism would be 22 inches - 14 inches = 7 inches below the latch on the lander.

    We plan to use REV 40:1 motors that have 594.7 oz*in. Now using these calculations we can determine our needed gear ratio.

    This gear ratio of 6.6 means that for our robot we need a motor to gear ratio that needs around seven rotations of the motor to provide one rotation of the hook.

    We knew the max weight of the robot would be around 20 pounds since the total weight of all the parts in the kit is less than 20 pounds. The point of rotation for the hook would be around 5.5 inches below the lander latch. This is because the bottom of the hook is around 22 inches above the ground and the point of rotation will be around 16.5 inches off the ground so that we can account for space for a gear while staying within the 18 inch box. Below is the torque calculation.

    Next Steps

    RIP CNN

    04 Nov 2018

    RIP CNN By Abhi

    Task: Farewell Iron Reign's CNN

    FTC released new code to support Tensorflow and automatically detect minerals with the model they trained. Unfortunately, all of our CNN work was undercut by this update. The silver lining is that we have done enough research into how CNN's work and it will allow us to understand the mind of the FTC app better. In addition, we may retrain this model if we feel it doesn't work well. But now, it is time to bid farewell to our CNN.

    Next Steps

    From this point, we will further analyze the CNN to determine its ability to detect the minerals. At the same time, we will also look into OpenCV detection.

    BigWheel Upgrades

    05 Nov 2018

    BigWheel Upgrades By Evan

    Task: Get BigWheel ready for the tournament

    Today, we built mounts to attach both types of intake to the rack; the rack-and-pinion corncob intake and the red-flapped intake. We also created a new way of mounting the arm to the chassis. The idea is that since it’s attached to the rack and pinion track, it reaches high enough for the robot to put the minerals in the lander. We made the arm with a 12-86 gear ratio. Our next plan is to create the mount, minimizing the size of the arm.

    The final addition is a tail for the robot to be able to stop itself from flipping backwards, something that is a very real danger of the design. It will probably be made of polycarb with aluminum or steel support on either side, just in case the polycarb is not enough to support the push of the robot. Part of this process will involve some code tuning so that the robot stops itself, but the tail is necessary as a preventative measure.

    Next Steps

    There’s still a lot of stuff we will have to do to prepare the robot physically for the competition this Saturday, but I believe it will get done.

    SEM Robotics Tournament

    07 Nov 2018

    SEM Robotics Tournament By Coach and Ethan

    Our deepest thanks to all volunteers!

    Iron Reign (team 6832), The School of Science and Engineering and the Dallas ISD STEM Department are happy to announce that we are hosting our second annual FIRST Tech Challenge qualifying tournament at our Townview campus on December 15th. Thirty North Texas robotics teams will compete for awards and approximately 5 or 6 advancements to the Regional Championship to be held in February.

    Calling All Volunteers

    This is the second time our school has hosted an official qualifying tournament and we will need your help to make it a first-rate experience. This is a full day event on Saturday, December 15. There are also options to help with setup Friday afternoon December 14. Please feel free to circulate this message to everyone in the SEM community who can contribute their time and expertise. And if you can suggest a business that might want to sponsor the event, we'll be happy to talk with them.

    Our deepest thanks to all volunteers!

    One group of volunteers that support the running of robot matches include referees, score keepers, inspectors, field managers. Some of these roles require training and certification and we will generally draw from mentors already involved in FTC. Other roles supporting match play do not require training and include field management, pit management and queue management.

    Another group of volunteers will support judging of teams for awards. Judges can be drawn from industry or academia and can have an engineering background or a general business backround in a technology industry. Judges assess the merits of teams' robots, their engineering process and journal, their strategic decisions, team dynamics and outreach. Judges will be led by a Judge Advisor, but will need to understand the awards criteria ahead of time.

    Another group of volunteers will support the event overall. This includes team registration, crowd control, DJ, videography and photography, A/V support, floaters, runners, concessions, load-in/load-out crew, etc.

    This is just a summary of the most common roles, but there are many specialty roles. Full volunteer info can be found here.

    For some roles it helps to understand the run-of-show for the day.

    How to sign up as a volunteer

    FIRST is the governing body of these competitions and they have a volunteer sign up system so that we can assure that all roles are filled by vetted volunteers. We are trying to get all volunteers processed through this system. It does involve creating a FIRST account if you have not previously done so. If you have any issues or are finding the process burdensome, please use our contact form for assistance.

    Please sign up for as many roles as you feel comfortable fulfilling. We may need to be flexible with assignments depending on who is available and which roles can be fulfilled by our regional managing partner. Students may volunteer for certain roles and as event hosts, Iron Reign team members will be supporting the event throughout the day.

    To begin, go to the volunteer signup page for our event: https://my.firstinspires.org/Volunteers/Wizard/Search/2?EventId=39812

    If you have not previously registered with FIRST, you'll need to sign up / register and activate your account first. Then you can go back to the link above and indicate your preferences. We truly need your help and look forward to working with you to create a great tournament for our students. We hope this event will showcase SEM as the premiere home for future scientists and engineers.

    All our Thanks,

    Karim Virani and Cathy Lux

    Tournament day is very involved for the teams and volunteers. Here is a typical schedule of the day:

    • 7:30-8:30 Teams arrive, register and load their robots and gear into the pit areas
    • 9:00 - 10:30 Teams present their robots to Judges for the awards competition. They also get their robots inspected and approved for the robot game
    • 10:30 Opening ceremonies and then qualifying matches of the robot game begin. Judges are observing teams in their pits and on the competition field
    • Noon - Lunch will be provided for the teams and volunteers. Judges share information with each other about the teams they interviewed.
    • Afternoon - qualifying matches continue until each team has competed 5 times. There are 4 robots per match and we'll have two alternating competition fields to speed things up.
    • Mid-to-late afternoon is Alliance Selection, top teams from qualifying rounds will build alliances to compete in the elimination / playoff rounds. Judges continue deliberating.
    • Playoff rounds usually take a bit over an hour
    • Closing Ceremonies and Awards
    • Pack up fields and equipment

    We plan to end the tournament by 5pm, but events can run long. All volunteers are encouraged to stay until the end of the tournament, but it's not required if your role is completed earlier in the day.

    Conrad Qualifier

    10 Nov 2018

    Conrad Qualifier By Ethan, Charlotte, Karina, Janavi, Bhanaviya, Abhi, Arjun, Evan, and Justin

    Task: Compete at the N. TX Conrad Qualifier

    Right off of a mortifying experience at the Hendricks MS Scrimmage, in which we got the worst score at the tournament (and in the one match we did participate in, our robot broke) we walked in on shaky ground. In the week leading up to the tournament, Iron Reign worked hard, with 35 commits to the blog, and countless changes to our robot.

    Inspection

    Our robot fit well inside the sizing cube. However, we were warned for our rats' nest of wiring at the base of our robot, as well as the fact that our metal-frame base had sharp corners.

    Presentation

    We walked in, and started off out strong. Half of a good presentation is the energy, and we had more energy than some of our other presentations last year. Unfortunately, that energy petered out as we stuttered and tripped over ourselves. We got our information across, but not as well as we should have, and we didn't have enough time for questioning.

    Robot Game

    We didn't really have a working robot, but we tried our best. Unfortunately, our best wasn't great.

    Match 1

    We lost, 33-135. We deployed the wrong autonomous and couldn't drive - a total wash.

    Match 6

    We lost, 15-70. Our robot's linear slide seized up, bringing our robot outside of sizing limits, so we had to sit out the match as we hacksawed through our intake.

    Match 11

    We lost, 47-122. Our autonomous worked! (but our team marker didn't deploy).

    Match 13

    We lost, 65-196. Our robot didn't work, we just drove ourselves around aimlessly.

    Match 15

    We lost, 10-167. This time, none of our robots worked!

    In summary, a disappointing result.

    After-Judging and Awards Ceremony

    While we thought we hadn't done well in judging, we were quickly rebuffed. A good measure of judging success is if the judges come back to talk to you, and this was no exception. We had five separate groups of judges come up to us and ask us about *every* component of our team, from business, to volunteering, to code, to design. While we thought we hadn't done well in judging, we were quickly rebuffed. A good measure of judging success is if the judges come back to talk to you, and this was no exception. We had five separate groups of judges come up to us and ask us about *every* component of our team, from business, to volunteering, to code, to design.

    In the ceremony, every single member of SEM Robotics waited. Iron Star had been the 4th alliance captain; Iron Core had demonstrated gracious professionalism; Iron Reign had multiple in-depth discussions with judges; Imperial had an exceptional journal. We watched each team get nominated for awards, but only that, and fall short. In particular, Iron Reign was nominated for every award but Innovate. Then came Inspire. We heard two names echo off as nominations; neither of them SEM Robotics teams. Finally, a speech flew across the arena as Iron Reign stood for their Inspire Award.

    Next Steps

    Even though we won Inspire, we have a long way to go. We are going to compete at at least one more tournament, and don't want to completely embarrass ourselves.

    Inspire at Conrad Qualifier

    10 Nov 2018

    Inspire at Conrad Qualifier By Ethan

    This weekend, SEM sent four teams to the first qualifying tournament of the FTC Robotics Rover Ruckus 2018-2019 season. Iron Reign won the top award (Inspire) and advanced. For reference, Iron Reign is last year's FTC World Championship Motivate Award winner and is the "varsity" team of the SEM Robotics organization.

    Left to right: Janavi Chadha, Bhanaviya Venkat, Justin Bonsell, Abhijit Bhattaru, Charlotte Leakey, Karina Lara, Ethan Helfman, Evan Daane, Karim Virani. Not shown: Kenna Tanaka, Arjun Vikram and mentors Catherine Lux and Calvin Boykin.

    Imperial Robotics was a finalist for the Think Award due to the excellence of their engineering journal.

    Hudson Shields, Alisa Lin, Blaine Wells, Christian Saldana, Rohit Shankar. Not shown: Thu Le, Jonathan Hamada.

    Our two new rookie teams beat back tough odds from a field of seasoned teams. Iron Star became the 4th alliance captain in the playoff rounds.

    Left to right: Katelyn Cumplido, Shawn Halimman, Henry Le, Evan Branson, Paul Lea, Aaron Daane. Not shown: Beau Aveton, Cooper Clem, Harish Jai Ganesh, Benjamin Oommen.

    Iron Core was publicly invited to join the 3rd alliance in the playoffs, but graciously declined because they had a new fault in their robot and didn't want to drag the alliance down just to get into the playoffs. This was a highly laudable moment at the tournament and demonstrates the highest level of sportsmanship. FTC is about so much more than the robot, and no team emphasized that more then Iron Core.

    Left to right: Mahesh Natamai, Jose Lomeli, Ben Bruick, Samuel Adler, Ephraim Sun.

    Code Post-Mortem after Conrad Qualifier

    10 Nov 2018

    Code Post-Mortem after Conrad Qualifier By Arjun and Abhi

    Task: Analyze code failure at Conrad Qualifier

    Iron Reign has been working hard on our robot, but despite that, we did not perform well owing to our autonomous performance.

    Our autonomous plan was fairly simple: perform sampling, deploy the team marker, then drive to the crater to park. We planned to use the built-in TensorFlow object detection for our sampling, and thus assumed that our autonomous would be fairly easy.

    On Thursday, I worked on writing a class to help us detect the location of the gold mineral using the built-in TensorFlow object detection. While testing this class, I noticed that it produced an error rather than outputting the location of the gold mineral. This error was not diagnosed until the morning of the competition.

    On Friday, Abhi worked on writing code for the driving part of the autonomous. He wrote three different autonomous routines, one for each position of the gold mineral. His code did not select the routine to use yet, leaving it open for us to connect to the TensorFlow class to determine which position the gold mineral was.

    On Saturday, the morning of the competition, we debugged the TensorFlow class that was written earlier and determined the cause of the error. We had misused the API for the TensorFlow object detection, and after we corrected that, our code didn't spit out an error anymore. Then, we realized that TensorFlow only worked at certain camera positions and angles. We then had to adjust the position of our robot on the field, so that we could.

    Our code failure was mostly due to the fact that we only started working on our autonomous two days before the competition. Next time, we plan to make our autonomous an integral part of our robot, and focus on it much earlier.

    Next Steps:

    We spend more time focusing on code and autonomous, to ensure that we enter our next competition with a fully working autonomous.

    Materials Testing Planning

    16 Nov 2018

    Materials Testing Planning By Ethan

    Task: Design a lab to test nylon properties

    So, Iron Reign is used to using off-the-shelf materials on our robot: silicone oven gloves, ice cube trays, nylon 3D-printed parts, and more. But, we've never actually done a thorough investigation on the durability and efficacy of these parts. Because of this, we've had some high-profile failures: our silicone blocks breaking on contact with beacons in RES-Q, our nylon sprockets wearing down in Relic Recovery, our gears grinding down in Rover Ruckus. So, we're going to do an investigation of various materials to find their on-robot properties.

    Nylon Testing

    A majority of the 3D-printed parts on BigWheel are nylon - we find it to be stronger than any other material save ABS, but much less prone to shattering. Still, we still deal with a substantial amount of wear, and we want to find the conditions under which damage happens.

    So, to start, we are printing a 4.5" x 1.5" block with a thickness of 4mm with an infill of 60% out of nylon. We chose these values as our average part is about 4mm thick, and our high-strength nylon pieces are about 60% infill. Then, we are going to test it under a variety on conditions meant to simulate stressful operation. As well, we're going to measure other values such as coefficient of friction using angle calculations.

    Silicone Testing

    Similarly, we use the silicone oven mitts on our intake; we find that they grip the particles pretty well. The main thing that we want to test is the amount of energy they have while rotating and then the amount of energy they lose upon collision. We plan to test this through video-analysis. In addition, we wish to test the coefficient of friction of the mitts to see if a better material can be found.

    Next Steps

    We are going to perform these labs so that we can compare the constants we receive to commonly accepted constants to test our accuracy.

    Conrad Qualifier Post Mortem - Short Term

    17 Nov 2018

    Conrad Qualifier Post Mortem - Short Term By Ethan, Bhanaviya, Janavi, Charlotte, Kenna, Arjun, Justin, Janavi, Karina, and Abhi

    Task: Analyze what went wrong at Conrad

    Iron Reign didn't necessarily have the best time at Conrad. As shown in last week's tournament post, the day had its ups and downs. Even though it was a successful tournament overall, there's much that we could do better.

    Problems:

    The Robot

    First, the robot didn't perform well. So, we're beginning our analysis from the mindset that everything must be changed.

    • The Intake
    • The intake itself had a multitude of problems. First and foremost, we actually didn't have a way to contain the particles from the intake. Being that Rover Ruckus' primary way of scoring is by depositing the particles into the lander, this was a pretty big oversight. To solve this, we plan to add a catcher at the bottom of the intake using this template.

      As well, our linear slide locked up in the middle of the tournament, preventing our intake from extending. Now, we have latches that keep the intake from retracting without human assistance.

    • Superman Arm
    • This impressed the judges a lot and was one of the more reliable parts of our robot. However, there were still issues. First and foremost, the arm became misaligned so that the gears began to grind during the judging presentation. This was an easy fix - we just adjusted a set screw - but we need a more rigorous solution. Right now, we're considering metal gears instead.

    The Presentation\Judging

    We didn't have much practice with our presentation. Some of the more major issues were slide order (~5 second gaps between people talking, stuttering due to unfamiliarity with content, and energy (a majority of the members present had held an all-nighter so we weren't really awake).

    We plan to revamp our presentation, adding to the story of BigWheel's development. Plus, we'll have all of our members in the next presentation, which'll be a major help. We need to do more practice, but that's a given.

    Another thing that we fell short on was the Innovate Award (the only award that we weren't mentioned for). A good portion of this is that the Innovate Award rubric emphasizes that the robot needs to work; ours really didn't. However, we need to take a retrospective look at our mechanism insofar that we need to show our difference between us and other robots.

    Programming

    Despite our all-nighter and prior large codebase, we were pretty short on workable code. So, while our driving worked, not much else did. We had an theoretical autonomous, but it remained only that.

    Next, we need to work on our Pose class (the one that determines the position of the robot on the field). From there, we need to add autonomous enhancements, allowing us to drive a little better. The most efficient use of our time could be put toward raising our robot to score and latch, as well as TensorFlow recognition of the minerals.

    Meeting Log

    17 Nov 2018

    Meeting Log November 17, 2018 By Charlotte, Karina, Kenna, Janavi, Evan, Justin, Ethan, Arjun, Bhanaviya, and Abhi

    Meeting Log November 17, 2018

    Evan working on the robot!

    Today's Meet Objectives

    We are going to discuss multiple facets of our team (presentation, engineering journal, organization, etc) with alumni Jayesh and Lin. What we hope to gain out of our conversation is an outside perspective. In addition to this conversation we wish to continue in our reflection of the tournament last weekend and preparation for our next tournament.

    Today's Meet Log

    • Organization
    • Karina and Janavi spent a large portion of practice organizing all of our parts and tools. They organized our drawers, carts, and tent. Organization has historically been a weak spot for Iron Reign, so this year we really want to crack down on that problem, as discussed in (T-13, Organization!).
    • Superman arm and wire organization
    • Evan, Kenna, Janavi, and Karina were all making improvements on our robot, notably working on problems we found at the tournament last week. These problems mostly dealt with wire organization and our superman arm. Analysis on why the superman arm broke can be found at (E-63, Code Issues Break the Superman Arm). More about how we fixed these issues can be found at (E-65, Arm Repairs).
    • Blogging mentoring
    • Also, Bhanaviya is learning to make blog posts. We showed her our blog post guides and answered any questions she had. Expect to hear from her soon.
    • Alumni Meeting and Feedback
    • The main focus of today's meeting was speaking to our alumni Jayesh and Lin who are both in their sophomore of college. They were both founding members of Iron Reign, they were in their senior year the first time we went to supers. More details on this meeting and our post-mortem can be found at (T-27, Conrad Qualifier Post Mortem - Short Term).
    • Presentation feedback
    • First we discussed our presentation lacked energy and enthusiasm, which is a common problem in our presentations. We have great enthusiasm for our work and progress, but we have trouble expressing it on early morning competition days. This could also be improved by lots and lots of practice, so we don't ever have to focus on our memorization, rather focusing on the expression of our passion for robotics.
    • Engineering journal feedback
    • Also, they provided insight on our engineering journal, which they said needs more cohesiveness between posts. This takes the form of adding links to older blog posts that reference future ones after we have written them.
    • Mentorship feedback
    • Finally, we discussed the new teams we have started, Iron Core and Iron Star, and asked for their advice on how to approach mentoring the new recruits. They told us that rather than waiting for them to seek us out, we need to seek them out, as many of the recruits don't have the confidence to approach us, since many of our team members are upperclassmen. We want to let them know that Iron Reign is here to help them in any way possible and to make our workspace one of collaboration and the transfer of ideas through the teams and grade levels.

    Today's Member Work Log

    Team MembersTaskStart TimeDuration
    KarinaOrganization and Build2:004 hrs
    AbhiConversation2:004 hrs
    EvanRobot build2:004 hrs
    CharlotteBlog and organization2:004 hrs
    EthanWorking on blog2:004 hrs
    KennaRobot build2:004 hrs
    Justin3D Modeling2:004 hrs
    JanaviOrganization and build2:004 hrs
    BhanaviyaLearning to Blog2:004 hrs

    Mentoring SchimRobots at Rice MS Tournament

    17 Nov 2018

    Mentoring SchimRobots at Rice MS Tournament By Bhanaviya

    Task: Mentor a middle school team at the RMS Qualifier

    Earlier today, I attended the Rice Middle School Qualifier in order to mentor my middle school team, SchimRobots, as an alumnus. Last year, when I was a member of SchimRobots, we had qualified to regionals by attaining 3rd Place Inspire Award in a qualifier. Since the Inspire Award had a heavy focus on a team’s engineering notebook, I decided to help out by looking through their journal. The way 12900 operates is through units; there is a unit specifically dedicated to the engineering notebook, and the members in that unit are the ones who work on the notebook. However, as I’ve learned thus far, because different members are equipped with different skill sets, it is more effective for each member to record their personal experiences within the team, rather than for a smaller group to carry the entire load.

    SchimRobots Team Overview

    That was the first takeaway that I decided to pass on. The second was that all ideas, regardless of potential, must be recorded. The purpose of the journal is to document all ideas, despite their success rate. This documentation showcases how iterative a team’s thinking can be when attempting to solve a problem. Because an iterative process helps portray a team’s “journey” in overcoming a challenge, dedicating a portion of an entry to any idea a team considered implementing is an effective strategy in making one’s journal as thorough as possible.

    At the end of the day, we discussed the possibility of another meet-up, this one with more experienced members of Iron Reign to mentor the middle-school team, prior to their second qualifier.

    Next Steps

    The next step is to consider, with the rest of Iron Reign, the feasibility of organizing another mentoring session, taking into account where and how much help SchimRobots needs, and where and how much Iron Reign can offer.

    Chassis Mark Two Planning

    20 Nov 2018

    Chassis Mark Two Planning By Ethan

    Task: Plan a new BigWheel chassis

    Our next tournament is a while away, in about two months. So, we have a little bit of time to redesign. And, our current chassis has plenty of faults.

    Our original BigWheel base.

    First and foremost, our chassis was built for a testing competition, not to be a full fledged competition robot. As such, it's a little lacking in features that would be normal on such a robot such as mounting points for other components, durability, and free space. So, we need a redesign that allows for greater modularity and functionality.

    We're starting from the ground up; our current base is a square metal frame with a polycarb bottom. While this is a good start, it has some issues: the base seems to be a little wobbly due to the polycarb, there's only one level of construction, so our motor mounts, REV hubs, and supports compete for space, and we have to add all the counting points ourselves.

    The main way to prevent the wobbliness is by replacing the polycarb with something sturdier, as well as not having everything simply bolted together. Thus, we're going to dive headfirst into the next step - welding. We plan to cut a base out of aluminum as well as four side plates to create a dish-like shape. Then, we plan to TIG weld these plates together (TIG welding uses a tungsten electrode in contact with two separate metal plates in combination with a filler metal that melts and joins the two plates together).

    Basic design for the newest version of BigWheel.

    Next Steps

    We plan to cut the aluminium next week, and TIG weld the pieces together the week after that. We're beginning to train a few of our members on TIG welding and we already have some of the safety equipment to do so.

    Conrad Qualifier Post Mortem - Long Term

    20 Nov 2018

    Conrad Qualifier Post Mortem - Long Term By Ethan

    What could have gone better?

    This is a document for analyzing what we can do better, not just what went wrong at the Conrad qualifier. The format of this will be in issue > solution format.

    Prep

    • Lack of tools and parts
      • Pack tools the week before - involves better organization overall
      • Bring failsafes & extra parts - prevents costly errors
    • Little presentation practice
      • Cut down powerpoint - optimally 8 minutes
      • More practice - seamless transition
      • Order - we need to tell a story
    • Journal prep
      • Same issue - we need to organize the journal to tell a story
      • Lack of images - backdate images in blog posts
      • Lack of diagrams - explanatory
      • Lack of continuity - link posts together to show how components of team have changed
      • Need to write real control award

    Programming

    • Autonomous
      • No autonomous - need to have functional autonomous
    • TeleOp
      • Robot easily breaks - need to create presets to prevent

    Build

    • Lift
      • Lift linear slide broke - need to redesign with new linear slides
    • Intake
      • Intake did not actually move - need to reattach motors

    Other

    • Presentation
      • Map slides to articles in journal
      • Review judging rubrics

    C.A.R.T. Bot Side Shields

    01 Dec 2018

    C.A.R.T. Bot Side Shields By Ethan

    Task: Design sideshields for the Townview Tournament

    Iron Reign takes pride in the Townview Tournament; we really enjoy making it a great experience for everyone. One small way we plan to improve the tournament is to turn our MXP into a robot repair shop for broken robots. In addition to this, we're turning CART Bot into an ambulance to carry broken bots that need repair. To do so, we're wiring a flashing light to the cart, as well as printing giant sideshields on either side. The shields are above.

    Agenda for Dallas Personal Robotics Group

    01 Dec 2018

    Agenda for Dallas Personal Robotics Group By Bhanaviya, Karina, Kenna, Ethan, Abhi, Evan, and Charlotte

    Task: Set up an outline as to how the DPRG Presentation will operate

    Next Saturday, December 8th, Iron Reign will be giving its judging presentation to members from the Dallas Personal Robotics Group. Our primary purpose from this visit is to gain feedback from engineers in the community on our presentation. The presentation is anticipated to go beyond 15 minutes, so that we can introduce our potential ideas for the near-future, and so that DPRG can ask us more technical questions, that may not have arose from our presentation. Here's our anticipated agenda:

    1. Before the presentation begins, we will play the challenge reveal for this year, so that DPRG gets a basic idea as to what mechanical and technical challenges we must overcome in this season.
    2. Members who were with the team during Worlds will give an overview of what the Worlds championship is like.
    3. We give our judging presentation. (Approximately 15 minutes)
    4. We provide a demo of our robot. This demo will be similar to what we provided to the judges during pit-visits.
    5. We discuss some of our more ambitious build ideas thus far, such as the Superman Subsystem, and potential ways to improve upon these ideas.
    6. Provide an introduction of our Android Studio Control System and discuss the operation of how Big Wheel performs autonomous, and other low-level behaviors based on remote control and telemetry.
    7. We will wrap-up by discussing our expectations for the rest of the season, and answer any other questions DPRG has for us.

    Next Steps

    We will present on Saturday before returning to the house for our regular practice.

    Friction Coefficient and Energy

    01 Dec 2018

    Friction Coefficient and Energy By Ethan

    Task: Measure the coefficient of friction of our oven mitt intake

    We want to measure various constants of materials on our robot. Earlier this season, we found that a nylon-mitt collision on our intake sapped the rotational energy of our intake. But, that was just a build error, easily fixable. But now, we plan to measure the energy lost from particle-mitt collisions, and the first part of this is to find the coefficient of friction of the silicone mitts.

    To measure the coefficient of friction, we first had to simplify an equation to determine what values to measure.

    From these calculations, we determined that the only factor to measure to determine the coefficient of friction between blocks and the mitts is the angle of incline. Therefore, we created a simple device to measure the angle at which slippage begins to occur.

    The angle was about 27 degrees, so the coefficient of friction is equal to arctan(27)=0.44. This is a pretty good coefficient of friction, meaning that the intake is very efficient in bringing the particles in, but it also means that the intake loses more energy on collision.

    Next Steps

    We need to measure further constants such as stretch and wear of nylon. To do so, we're printing a simple testing nylon block.

    Meeting Log

    01 Dec 2018

    Meeting Log December 01, 2018 By Charlotte, Ethan, Kenna, Evan, Abhi, Justin, and Bhanaviya

    Meeting Log December 01, 2018

    Today's Meet Objectives

    We plan to prepare for a few events coming up, the tournament we are going to host at Townview and our presentation to the Dallas Personal Robotics Group. As well, we plan to continue building our robot and improve on the superman arm in preparation for our next competition in January.

    Today's Meet Log

    • Hosting a qualifier
    • The Townview qualifier is coming up in just a few weeks, and we are starting to make preparations. Ethan is making a wrap for Cart Bot that emulates an ambulance, so we can stock the cart with tools and drive it around to help teams during the competition.

      Ethan designing
    • Robot materials testing
    • This year, we want to continue our materials testing in order to ensure our robot is efficient. Here is Ethan performing one of these tests, measuring the friction of different materials we might use for an intake system. Further information on the tests can be found at (E-59, Friction Coefficient and Energy).

      Materials friction testing

    • Model updates
    • Justin kept working on the 3D model, which is essential to complete as we are trying to improve the various systems on our robot, especially the Superman arm and other complicated mechanisms.
    • Blog training
    • A universal responsibility for Iron Reign members is writing blog posts. We taught Bhanaviya how to use GitHub and Notepad ++ so that she can write her own blog posts and post them to the blog.
    • DPRG prep
    • Abhi is preparing a demo in preparation for our meeting with the Dallas Personal Robotics Group (DPRG). We are going to show off our robot's computer vision capabilities and the strides we have made to train our own neural network. We expect to receive a lot of specific questions about this. Our presentation will be an hour long. To see how our presentation went, read (T-31, Presenting to the DPRG).

      Today's Work Log

      Team MembersTaskStart TimeDuration
      AbhiCode2:004
      EthanBlog & Testing2:004
      EvanBuild2:004
      CharlotteBlog2:004
      BhanaviyaBlog2:004
      KarinaBuild2:004
      JustinModelling2:004
      KennaSocial Media2:004

    Selecting Lift System

    01 Dec 2018

    Selecting Lift System By Janavi

    Objective: Determine the type of lift system will allow us to delatch and reach the lander

    In our past post Choosing Drive Train we decided that we will use the chassis BigWheel. After deciding the base we need to now think about the lift system that we want to use to allow us to both deposit into the lander and latch onto it. Evan and I have been experimenting with linear slides to use for our lift. I have been working on a REV linear slide lift system as referenced in the post "Linear Slide Lift". Evan has been working on a separate ball bearing linear slide. As well as these two options we are looking into past linear slides and ones that we have seen teams use in past challenges. We need to determine which of the linear slides works best based on the game requirements this season

    Linear slides needs according to game
    • Lift and lower robot from latch on lander
    • Extend out to Crater from distance to collect minerals
    • Extend out vertically to lander to deposit minerals

    What we want our linear slide to have
    • Light Weight
    • Bidirectional (Able to collect from crater and deposit)
    • Speed
    • Sturdy
    • Easy to fix and maintain in case of emergency
    • Small in size
    • Extend out to around 5 ft in height

    Linear Slide Options
    • Ball Bearing Lift
      • Heavy
      • Smooth
      • Reliable
      • Never used the before
    • Drawer Slides
      • Heavy
      • Low cost
      • Unwieldy
      • Familiar as we used them last year
    • REV Linear Slides
      • Light Weight
      • Not very reliable
      • Familiar

    Next Steps

    We need to select the best linear lift system for our chassis based on the requirements we set above.

    Linear Nylon Strength Test

    02 Dec 2018

    Linear Nylon Strength Test By Ethan

    Task: Measure linear nylon wear

    We've had some issues with our nylon sprockets, mainly through excessive wear and tear. So, we want to test what circumstances cause what deformation.

    Linear Deformation

    This one was simple. We printed this block with 60% infill (the highest infill we tend to use), measured its length (3.75") and hung one end from our deck. On the other end, we inserted a bar and attached 180 lbs of mass to it, then we measured its new length (3.8"). Thus, the constant of deformation is [weight]/[change in length] = 650 kg/cm. This demonstrates that linear transformation isn't Iron Reign's issue, as the highest possible weight put on any nylon piece on our robot is ~27 lbs/12.25kg.

    However, there is other damage. After testing, we found internal damage in the nylon from where it was hanging.

    Next Steps

    Next, we need to test the rotational damage that nylon incurs through friction. We plan to design a simple rotational sprocket and run it on a motor for a set amount of time and measure the wear to determine wear per unit time.

    Code Issues Break the Superman Arm

    02 Dec 2018

    Code Issues Break the Superman Arm By Abhi

    Task: Analyze the code issues that led to our robot breaking

    After constant use, our robot's Superman arm broke. At this point, it is important to analyze our failures. This error was not because of a build issue but rather a code and driver control issue.

    When testing, we always heard the gears grinding some times and we thought it wasn't an issue. There were instances like once when we accidentally made the robot stand up under a table. Other times, the robot would press the arm down into the foam and keep pushing when it couldn't really keep going, leading to grinding.

    Not only did the arm break but also the Superman mechanism. This broke mainly because we didn't set proper ranges of motion of the arm and the gears would grind when there was interference. Because of the damage, we can't use the existing gears.

    Next Steps

    We intend to gang up the gears and make the mesh stronger to fix the build side of things. In the code, I already added the software limits to motion so we don't have those problems anymore.

    Arm Repairs

    06 Dec 2018

    Arm Repairs By Evan and Abhi

    Task: Fix elbow and Superman

    This is a follow up to Post E-64, Code Issues Break the Superman Arm. We made some hustles and got them fixed. We reinforced Superman by ganging up multiple gears (as seen above) and repeated a similar process with the elbow arms. Hopefully this will make BigWheel more secure, especially with software limits in the code.

    Rotational Nylon Wear Test

    07 Dec 2018

    Rotational Nylon Wear Test By Ethan

    Task: Test the amount of wear on a moving nylon part over time

    After our last tournament, we noticed several 3D-printed sprockets that had worn down significantly. So, we wanted to measure how much wear one of our nylon sprockets takes per second.

    First, we printed out a model of one of the REV sprockets, using the STEP file here. We printed it with ~45% infill, our average for sprockets and other parts. Then, we attached a REV Core motor to an extrusion, then mounted the nylon sprocket on the other side. Then, we measured the length on one of the teeth. We ran the motor for 1:05:45, and then measured the length afterwards.

    So, the tooth length before was 5.3mm, and after, it was 5.23mm, for a difference of 0.07mm. Then, we ran the system for 1:05:45. This results in a wear rate of 1.77*10^5 mm/sec. So, given that we use our robot for about an hour, cumulatively, in a tournament, 0.0638mm, or 1.2% of the sprocket. This is enough to be noticeable under loose-chain conditions and indicates that we should keep extra sprockets at tournaments so that we can do a quick replacement if needed.

    Next Steps

    We plan to perform more materials testing in the future; in particular, we'd like to determine the wear rate of the regular REV sprockets as well, but this requires a more rigorous experiment.

    Presenting to the DPRG

    08 Dec 2018

    Presenting to the DPRG By Ethan, Janavi, Charlotte, Arjun, Karina, Abhi, Evan, Bhanaviya, and Kenna

    Task: Present to the Dallas Personal Robotics Group about robot vision and Iron Reign

    We reached out to the Dallas Personal Robotics Group to present - we've presented to them in the past about gyros - this was actually our biggest numerical outreach of the season back in the day. This year, we wanted to present again on computer vision, as this is something that they were very interested in, but we also wanted to give our actual presentation as practice for our next tournament. However, after we reached out to them, other Dallas-area groups joined in, such as Computer Visionaries. So, our presentation was advertised all over Dallas Meetup groups, but the main one was here.

    The initial agenda is hosted on our website, but a quick summary is: a rundown of Worlds, our usual presentation, and our vision presentation. Our presentation went well - it was our usual tournament one for judges - we just took more time for the presentation, went on diatribes, told stories, and the like, and generally made it more entertaining. We answered questions on everything: code, building, outreach, and more. We're going to upload the video here soon. We also asked for feedback from the listeners.

    The main feedback we received for the presentation was to make our awards points more clear. For vision, we were told that we should take a look at Google's foray into computer vision.

    Then, we moved on to the vision presentation, the reason why everyone was there. Again, we'll upload a video of the presentation, and attach the presentation slides below. But, a quick summary of the presentation is that we covered OpenCV and VuForia first, then moved on to TensorFlow and CNN. This is where everyone became really became interested and asked questions. We also got a lot of advice, mainly on training the neural network. The presentation is here.

    DPRG Vision Presentation

    08 Dec 2018

    DPRG Vision Presentation By Arjun and Abhi

    Task: Present to the Dallas Personal Robotics Group about computer vision

    We presented to the DPRG about our computer vision, touching on subjects including OpenCV, Vuforia, TensorFlow, and training our own Convolutional Neural Network. Everyone we presented to was very interested in our work, and they asked us many questions. We also received quite a few suggestions on ways we could improve the performance of our vision solutions. The presentation can be seen below.

    Next Steps

    We plan to research what they suggested, such as retraining our neural networks and reusing our old training images.

    Townview Qualifier 2018 - Setting Up

    14 Dec 2018

    Townview Qualifier 2018 - Setting Up By Bhanaviya, Ben, Karina, Kenna, Ethan, Evan, Charlotte, Justin, Janavi, Austin, and Jayesh
    Task: Prepare Townview for SEM's qualifier on December 15th

    On December 15th, Iron Reign is hosting an FTC qualifier at Townview Magnet Center with around 30 teams competing. For the past 2 weeks, robotics alums, current members of Iron Reign, Iron Star, Iron Core and Imperial Robotics have been signing up to be volunteers for the very event. By Friday, the day before the qualifier, all our positions were confirmed for the tournament. In addition to getting assigned for the qualifier, we also helped with field set-up. Two fields were set up on each side of the cafeteria, to accommodate for the influx of teams competing. A field was set up behind the cafeteria to act as a practice field for queuing teams. Speaking of queuing teams, 8 tables were set up behind each field for teams to queue in. A monitor was brought in from Mr Boykin's room to display the teams' scores over the course of the match. We helped ensure that enough chairs were set up for the audience members, and that each team had a table of its own to operate their last-minute-panicked-robot-surgery on. In order to delineate the difference between teams competing on the two different fields, we put red and blue tapes on each table, after putting up a plaque card representing the competing teams' numbers.

    After ensuring that the actual competition area was set-up, we worked on setting up the judging rooms for judging presentations. We cleared out chairs in 5 rooms on the first floor, and set up two tables at the end of each room for the judges. Each room was marked with a piece of paper to represent the judging room number.

    Once we were finished setting up, we left to the Virani house, to set up the MXP. The purpose of the MXP being present at the qualifier was to provide the competing teams an area to work with Iron Reign on their robots, in the event they needed assistance. After ensuring that the vehicle was in driveable state, we worked on setting up laptops in the MXP. Then, we stocked it with tools that competing teams could use when needed. Next Steps Be prepared to carry out our respective roles as volunteers the next day, and lead competing teams through judging, queuing, and matches.

    Helping PiGuardians with Code

    15 Dec 2018

    Helping PiGuardians with Code By Arjun

    Task: Help teams at the Townview Tournament

    On Saturday, December 15, Iron Reign hosted 30 teams at the Townview Qualifier tournament. As a part of hosting the tournament, we wanted to ensure that all teams were able to compete at the best of their ability. As such, we made sure that we helped teams who needed our assistance.

    One such team was PiGuardians, team 14787. They had no code (except for the example teleop), and their programmer was unable to make the tournament due to a conflict. Without our help, they would not have been able to do anything more than be a pushbot. Iron Reign wanted to make sure that they were not excluded, so we assigned a programmer to help them out.

    We helped them write a teleop program so that they could participate in matches. We also helped them write an autonomous, using the replay program we designed over the summer to make developing an autonomous easier. With our help, they went from being a pushbot to having a full-blown autonomous.

    PiGuardians was extremely grateful for our help to them. They promised to reach out to us if they ever needed any help in the future.

    Townview Qualifier 2018 - The Day Of

    15 Dec 2018

    Townview Qualifier 2018 - The Day Of By Ethan, Janavi, Evan, Abhi, Charlotte, Karina, Kenna, Arjun, Jayesh, and Bhanaviya

    Task: Run the Townview Tournament

    On Saturday, December 15, Iron Reign hosted 30 teams at the Townview Magnet Center, our home school's campus. This entry serves more as a description as to how we got to the point of hosting the qualifier and what to consider when hosting one.

    First, for a tournament, you need a lot of volunteers of varied ages. Frankly, you need a good amount of younger kids for jobs such as queuing and judge assistance - this makes the tournament run much more smoothly. We had about 10 queuers throughout the day, and while this may seem excessive, we started out the day with a +10 minute surplus and kept every single match on schedule.

    There still needs to be adult volunteers. We had 2 judges per room with five rooms, as well as 6 referees. All of these must be adults. And, we had to recruit from a diverse set of groups to cover our bases - we recruited people from the Dallas Chamber of Commerce meeting, the Dallas Personal Robotics Group, prior FTC tournaments, alumni, teachers from our school, and even our own families. It's hard to get enough judges for a large tournament, so this process had to start early.

    The second item that we'd like to emphasize is the need to make everything accessible by teams. Being an FTC team ourselves, we wanted to make this tournament easier for others. So, we kept a spreadsheet with inspection results on a screen in the pits so that teams could be updated, made pit maps so teams could find one another, and built a practice field a decent distance away from the others for practice. In this, we hoped to take some stress off of teams.

    On the same topic of helping teams, we had volunteers assigned to help fix robots and to assist with code, as well as putting the Mobile Learning Lab in workshop mode for teams who needed it. Iron Reign has been stuck in bad situations countless times, and we wanted to return the favor to those who helped us.

    Finally, we'd like to thank all of our volunteers for being there. It was a hard, long day, but it was worth it, and we'd just like to extend our gratitude. We'd like to thank DISD STEM for providing food for volunteers and Townview Magnet Center for letting us host the qualifier here. Finally, we'd like to give a huge shout-out to our coach, Karim Virani, for doing the logistics of this tournament.

    Next Steps

    We're going to write up a few other posts about interacting with judges, supporting teams, and a postmortem on the tournament. We've got a lot to do over the break, and this was just the kickoff for it.

    Selecting Intake System

    20 Dec 2018

    Selecting Intake System By Janavi

    Objective: Determine the type of intake system that will allow us to efficiently obtain and deposit minerals within the lander

    In our post "Selecting Lift System" we decided that the linear slide system that we will use is the MGN12H rails also referenced to as the Ball-Bearing slides. These slides while heavy provide the smoothest option. now that we have chosen the Lift system we need to determine the intake system that will allow us to take in two minerals and deposit them in the most efficient way possible. Throughout this season already we have been experimenting with different types of intake systems as seen in posts like "Pool noodle intake" and "Selective Intake" and "Scoring Mechanism"

    Intake System needs according to game
    • Collect only two minerals
    • Sort between silver and gold minerals

    What we want our linear slide to have
    • Light Weight
    • Speed of intake mechanism
    • Sturdy
    • Easy to fix and maintain in case of emergency
    • Small in size

    Passive Deposit vs Passive Intake

    Pros Cons
    Passive Deposit Faster intake Could be unreliable if not positioned correctly
    Passive Intake More accurate Harder to intake and therefore we score less

    Intake Mechanism Material / Shape

    Pros Cons
    Ice Cube Tray Compliant and smooth Not a far reach
    Surgical Tubing Farther reach Possibility of missing minerals due to sporadic behavior of surgical tubing
    Pot holder Brings in minerals Not far reach and too compliant
    Octopuckers ( from last year's season ) Experience with using material Too stiff and not far enough reach

    REV Headquarters Visit

    21 Dec 2018

    REV Headquarters Visit By Ethan, Charlotte, Abhi, Bhanaviya, Evan, Karina, and Arjun

    Task: Visit REV headquarters and learn more about the engineering process

    Today, a group of Iron Reign, Core, and Star members ventured down to the REV headquarters in Dallas. REV is a Dallas-based FTC+FRC parts company that produces their items at an accessible cost for all teams. All the SEM Robotics teams use REV, their parts are easy to use while still giving the ability to create technically impressive mechanisms. So, we were elated when we had the opportunity to visit them.

    We started out with a tour, seeing the workshop in which they host their FRC teams - with RoboGreg inviting some of our members to apply to the new FRC team. Then, we saw the rest of the warehouse. Stretching infinitely towards the ceiling were rows and rows of REV parts in every variety imaginable with a center island of organized bins of parts. The last thing we were able to see on the first floor was the recording studio that REV's working on so that they can record tutorial videos.

    We can't talk about everything we saw on the second floor, as some of it may not actually be released yet, but we can tell you of the Wonderland-like nature of it. As we walked in, we were met by a room dedicated to testing electronics. Iron Reign is accustomed to soldering on the floor or a hastily improvised bench or whatever clear space there is on the kitchen table, so this alone was enough for us to long to use it. And then, we were met by the 3D-printing room. You see, REV has two normal nylon printers that Iron Reign has plenty of experience with - been there, done that - but they also had a resin printer. We've never had the luck to see a resin printer in real life, only in far away youtube videos and whispers of whispers. In this alone, we were extremely jealous. Finally, we got to meet the engineers and have a general discussion with RoboGreg and David.

    First, we got to learn about REV's design process. First, we learned about their revision process. They begin with a general idea, a goal that they want to achieve. Then, they create a small prototype with the tools they have at their home base if they can - after all, they have a reflow over, laser cutter, resin printers, and more we probably didn't get to see. From there, they send out their design for a small batch from a given manufacturer, just enough for testing. From there, they identify faults, fix them, and send for the next iteration, and so on. They end up with a finished product that, at the very least, has no physical/hardware faults; this is important as their philosophy is to give affordable parts to academic programs, and if they release faulty parts, they harm their customers. We learned a lot about the importance of a central design philosophy - something Iron Reign lacks. REV's is twofold: to make their parts affordable for those who normally wouldn't have access and to make their parts accessible for teams of all skill levels.

    Finally, we got to the part in which we presented to RoboGreg and the rest of the engineers. Last year for Kraken, we designed a system called REVolution, which, when printed, allowed any team to turn REV extrusions into shafts. We felt that it made robots easier to build, so we presented it and asked for feedback. They were impressed by Kraken and liked the way in which it was implemented. Then, we learned some things about high-level design. First, an idea doesn't mean anything as long as it's just that, an idea. What differentiates those who do from those who don't is their vision and process to realize their ideas. In REVolution, we had done this. But, then we learned about a little system called Cost-Benefit analysis. As macroeconomics states, if a person chooses to make one choice, they inherently lose out on another, even if it isn't realized. In our case, it was this: if REV chose to produce the REVolution system, naturally, there would be other products that go neglected. And, one has to consider how a new parts system fits with the other parts; if REvolution were made real, one would have to create a whole extra parts library while still maintaining other similar rotation systems, increasing the work. It's not that REVolution is a bad system, its just that it could present too much of a tradeoff. In RoboGreg's words, this is "reality-based creativity."

    We also asked some questions about things that Iron Reign wants to use; for example, where we could get access to a metal-3D-printer. We were informed that a local company down the road from REV, MLC CAD, was likely to provide this service for Iron Reign if requested. We asked for criticism of the REVolution system, learning that under normal operating speeds and temperatures, that nylon has the tendency to fuse with itself and that if possible, we should switch to a material such as Amphora.

    We also presented BigWheel, this year's robot. We had some difficulties setting it up, but overall, they were impressed. The one point that we heard was that, when extended, BigWheel has a very high center of gravity, making it prone to tipping. We've considered it in the past, but really noticed it when it nearly hit someone rising up.

    Next Steps

    We learned so much here, and we'd like to give a huge thanks to RoboGreg and REV for giving us a tour. We want to implement the changes to our engineering process that we learned, and we're going to fix up BigWheel to solve its current in-presentation issues.

    End of TIG Welding

    21 Dec 2018

    End of TIG Welding By Evan

    Task: Detail TIG welding plans and why they failed

    At the beginning of the season, we saw that our robot base was not as well crafted as we originally thought it to be. While we have worked to correct it over the season, it’s still not what we wish to see in a functional robot, and we came up with the idea of making the frame from light aluminum instead of the polycarb, and fix it with TIG welding.

    It seemed like a good idea at the time, but there were many other problems on the robot more important than a new base. So we pushed the TIG plan to the side, in lieu of correcting other issues like the lift and the intake. While we won’t completely throw the idea out, it will be a while before we begin to start the project. Also hindering us is the amperage output of the home, which is too low to run the TIG welder off of. Until we get additional amperage to the house, our plans will be on hold but not forgotten.

    The Return of BatteryBox

    22 Dec 2018

    The Return of BatteryBox By Ethan

    Task: Create a charging station for our phones and batteries

    A long time ago, in a land far, far away, Iron Reign once had a battery box. This was a fabled land, where all batteries remained charged and phones roamed the land, happy and content with their engorged batteries. But, this land was neglected, with the meadows of electricity growing dim, the plastic of the land cracking and scattering to the four corners of the Earth, and those who found their home there lost to the void.

    We have a problem keeping our phones charged at tournaments and in practice. So, we made a simple battery box to fix it. We used an old REV container and cut some spare wood to create dividers, cut a hole for a surge protector, and we were a go.

    Next Steps

    Iron Reign really needs to work on its organization in general, and this was just one way to stem the tide of entropy. We need to revitalize our tournament kits of tools next.

    BigWheel Arm Locks

    22 Dec 2018

    BigWheel Arm Locks By Evan

    Task: Create locks to keep BigWheel's intake arms in an extended position

    An important part of this year's challenge is scoring minerals in the lander. Additionally, our upright elbow cannot raise the scoring mechanism to the lip of the lander alone. Thus, we had to create a way to get those additional inches to score.

    First, we tried a REV linear slide design. This worked, but barely. It repeatedly got stuck, at one point even needing to be sawed apart at a tournament due to its inoperability. So, we switched to a new brand of linear slides, the MGN12H with 12mm steel rails. But, since we were no longer using REV, we needed a new design to keep the arms in the extended position.

    The new design relies on gravity. When the robot is on the lander in the hanging position, it will stay within the sizing cube. However, as it descends, the linear slides will glide upward, staying attached to the lander until the robot contacts the mat. And, as the slide finishes moving, it will move over a triangular piece of polycarb such that it is easy for the slide to move up, but near impossible to reverse its direction. This will ensure that the robot's arm stays extended.

    Next Steps

    We need to reattach the mounting point for hanging in order for this system to work.

    Scoring Mechanism

    22 Dec 2018

    Scoring Mechanism By Janavi and Abhi

    Task: Create a way to hold minerals

    We now have a lift and an intake system, but we're missing a way to hold onto and deposit the minerals after intake. To achieve this, we created a prototype.

    We wanted to create a box-like shape that can be attached to a moving axle to hold the minerals when lowered. When the lift is up in the air, the axle can rotate to lower the box and let the minerals fall into the depot. We tested out multiple designs but we ended up having to nix that as there was no way to get the minerals out of the box once they were in.

    Our second design was a sloped shape: just steep enough to hold onto the balls but not so steep that the balls couldn’t escape. To create this shape, we decided to have a rectangle attached to an axle able to hold the minerals when down and deposit the minerals when spun. We created multiple variations with different sizes as can be seen in the drawing below. We eventually settled on was design B, a square that was 155 cm by 155 cm.

    We decided to not use design A as it was simply too large and continuously hit against the edge of the rail. We progressed to a smaller size of 155 mm by 155 mm (design B) that worked well. We attempted another design of two separate backs as two separate channels for the minerals (Design C). However, we decided this wasn't a very good design because there was an increased chance of the ball getting stuck in between the channels, causing either a penalty or a decrease in the number of balls we can control.

    After creating the back of our holder, we realized that we needed to elevate it off the back of the rails at an angle. It was the only way to hold the balls and allow them to come down a ramp when the axle is spun. We decided that the best way to achieve this was through two wing-like triangles on the side that we could bend to ensure the minerals couldn’t escape out the side. We went through multiple designs as can be seen below

    At first, we attempted to attach two right angle triangles with 155mm acting as a leg of the triangle. We varied this design by increasing the angle of the slope so that the balls would be held at an angle that allows them to not slip. But, after creating this design out of cardboard and attaching it to the axle, we saw that the sharp angle interfered with the beater bar. To amend this, we changed the triangle attached to the end of the rectangle to have the 155 mm side be the hypotenuse of the triangle. Again, we varied the design in the steepness of the triangle. Through this, we determined that a slope of around 30 degrees was the best design.

    After finalizing our design, creating it out of cardboard, and attaching it to our robot, we cut the piece out of polycarb. We bent the side triangle using heat and drilled in the holes to attach the axle with.

    Next Steps

    Although this design works well, we want to continue to change and improve upon it. For example, the next way we can improve the design is by changing the way that the polycarb is attached to the axle through a 3-D printed attachment.

    Meeting Log

    22 Dec 2018

    Meeting Log December 22, 2018 By Charlotte, Ethan, Janavi, Bhanaviya, Evan, Arjun, and Abhi

    Meeting Log December 22, 2018

    Today's Meet Objectives

    Our goals for today include a battery box, repair and improvement of our intake system, and organization.

    Today's Meet Log

    • Intake redesign
    • On the robot, we are resizing the intake system as a whole so that it folds in completely and fits within the 18 by 18 sizing requirement. Our biggest focus today was on our intake system, notably building a system that deposits the minerals. We plan to create the system out of polycarb, but first we are prototyping with cardboard. There are two versions we have prototyped so far, as you can see below.

      Version 1: too wide and the triangle flaps were improperly cut so the edges interfere with the intake

      Version 2: fixes problems above, with the hypotenuse of the triangular flaps on the main part of the carrier
    • Tournament organization
    • Ethan made a battery box out of an orange REV starter kit and sawed some wood to fit snuggly in order to have some dividers. Finally we drilled a hole in the side for the power strip cord.
    • Neural network training
    • Arjun is working on our neural network for which we need to capture more training data. He is creating a program that will have the robot take pictures & capture the data we need as it drives. We had a bare-bones autonomous for the qualifier, so over the break we want to revamp our autonomous so that we can incorporate the neural network we are training more effectively. To see more about our vision training, see (E-28, CNN Training Program).

      Today's Member Work Log

      Team MembersTaskStart TimeDuration
      ArjunNeural network data collection2:001
      JanaviPrototyping2:001
      BhanaviyaPrototyping2:001
      EthanBlog2:001
      EvanBuild & Prototyping2:001
      CharlotteBlog2:001
      AbhiPrototyping2:001

    Creating Side-Latches

    26 Dec 2018

    Creating Side-Latches By Evan

    Task: Allow the robot's arms to stand on their own

    The issue with the lift is that many of the pieces that need to be made require specificity that’s hard to obtain using aluminum parts, so we chose polycarb. The key to making these specialized parts is a small butane torch held at just the right distance. Run the torch back and forth across the part where you want to bend, in the pattern of the bend you’re trying to achieve, watching closely for the first air pocket. Once you’ve spotted it, bend it. For tight, right angle bends, press the piece of polycarb against a hard surface until the right angle is achieved. If there’s an issue in your bend, simply heat it up again. This, however, weakens the piece so try not to do it on pieces that need to bare a load. We had to bend a complex piece, and while, it doesn’t look super complex in the picture, it had very precise requirements so that everything could slide together in unison. The part we made went in between the two linear slides on the arms to the 3d printed latch we created, and worked very smoothly. While polycarb is not the best at retaining strength over distance, it’s worked well in this instance.

    Next Steps:

    The next stage for this will be to make these brackets out of steel once we have access to the forge. This will result in a new, stronger version, which will hopefully eliminate a potential point of failure in our current robot.

    Meeting Log - Dec. 19, 2018

    29 Dec 2018

    Meeting Log - Dec. 19, 2018 December 29, 2018 By Ethan, Evan, Janavi, Karina, Abhi, and Arjun

    Meeting Log December 29, 2018

    Hello and welcome to the Iron Reign Holiday meet. We've got a few meet objectives today, namely:

    • Autonomous
    • BigWheel Side Plates
    • PowerPoint Revisions
    • Blog Post Backlog
    • Tent Cleanup
    These aren't all super-top priorities for us, but they all need to get done. And, as we're working with a skeleton crew, we might as well.

    So, first, Janavi, Abhi, and Ethan cleaned the tent, preparing it for autonomous testing. To do so, they got some freshmen to take up their robot parts as they cleaned and organized the field. We were missing a surprising number of tiles, so we had to replace them. As well, the recent rain had weakened the wood lying underneath. We're not going to do anything to fix this right now, but we really should.

    Next, we did PowerPoint revisions. Our presentations have always run over the 15 minute time limit, and we really need to fix it. As well, we want to change our presentation order such that we start off with the weakest award (motivate) and end on a strong note. We deleted about 5 slides, added 1, updated the Townview Tournament slide, and fixed some typos. We figure that this'll cut down our time and streamline the process.

    In the meantime, Ethan updated old blog posts and fixed broken images on the blog. Some examples of this are the Superman Arm's breakage, the old shields, Friction Test, and Battery Box posts. This took a significant amount of time.

    Finally, we had to cut new shields for the robot arms. These prevent the arms from moving back downward, allowing our robot to score in the lander. Evan measured these and melted them today, and plans to cut them next practice.

    Refactoring Vision Code

    29 Dec 2018

    Refactoring Vision Code By Arjun

    Task: Refactor Vision Code

    Iron Reign has been working on multiple vision pipelines, including TensorFlow, OpenCV, and a home-grown Convolutional Neural Network. Until now, all our code assumed that we only used TensorFlow, and we wanted to be able to switch out vision implementations quickly. As such, we decided to abstract away the actual vision pipeline used, which allows us to be able to choose between vision implementations at runtime.

    We did this by creating a java interface, VisionProvider, seen below. We then made our TensorFlowIntegration class (our code for detecting mineral positions using TensorFlow) implement VisionProvider.

    Next, we changed our opmode to use the new VisionProvider interface. We added code to allow us to switch vision implementations using the left button on the dpad.

    Our code for VisionProvider is shown below.

    1
    2
    3
    4
    5
    6
    public interface VisionProvider {
        public void initializeVision(HardwareMap hardwareMap, Telemetry telemetry);
        public void shutdownVision();
        public GoldPos detect();
    }
    ```
    

    These methods are implemented in the integration classes.
    Our new code for TensorflowIntegration is shown below:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    public class TensorflowIntegration implements VisionProvider {
        private static final String TFOD_MODEL_ASSET = "RoverRuckus.tflite";
        private static final String LABEL_GOLD_MINERAL = "Gold Mineral";
        private static final String LABEL_SILVER_MINERAL = "Silver Mineral";
    
        private List<Recognition> cacheRecognitions = null;
      
        /**
         * {@link #vuforia} is the variable we will use to store our instance of the Vuforia
         * localization engine.
         */
        private VuforiaLocalizer vuforia;
        /**
         * {@link #tfod} is the variable we will use to store our instance of the Tensor Flow Object
         * Detection engine.
         */
        public TFObjectDetector tfod;
    
        /**
         * Initialize the Vuforia localization engine.
         */
        public void initVuforia() {
            /*
             * Configure Vuforia by creating a Parameter object, and passing it to the Vuforia engine.
             */
            VuforiaLocalizer.Parameters parameters = new VuforiaLocalizer.Parameters();
            parameters.vuforiaLicenseKey = RC.VUFORIA_LICENSE_KEY;
            ;
            parameters.cameraDirection = CameraDirection.FRONT;
            //  Instantiate the Vuforia engine
            vuforia = ClassFactory.getInstance().createVuforia(parameters);
        }
    
        /**
         * Initialize the Tensor Flow Object Detection engine.
         */
        private void initTfod(HardwareMap hardwareMap) {
            int tfodMonitorViewId = hardwareMap.appContext.getResources().getIdentifier(
                    "tfodMonitorViewId", "id", hardwareMap.appContext.getPackageName());
            TFObjectDetector.Parameters tfodParameters = new TFObjectDetector.Parameters(tfodMonitorViewId);
            tfod = ClassFactory.getInstance().createTFObjectDetector(tfodParameters, vuforia);
            tfod.loadModelFromAsset(TFOD_MODEL_ASSET, LABEL_GOLD_MINERAL, LABEL_SILVER_MINERAL);
        }
    
        @Override
        public void initializeVision(HardwareMap hardwareMap, Telemetry telemetry) {
            initVuforia();
    
            if (ClassFactory.getInstance().canCreateTFObjectDetector()) {
                initTfod(hardwareMap);
            } else {
                telemetry.addData("Sorry!", "This device is not compatible with TFOD");
            }
    
            if (tfod != null) {
                tfod.activate();
            }
        }
    
        @Override
        public void shutdownVision() {
            if (tfod != null) {
                tfod.shutdown();
            }
        }
    
        @Override
        public GoldPos detect() {
            List<Recognition> updatedRecognitions = tfod.getUpdatedRecognitions();
            if (updatedRecognitions != null) {
                cacheRecognitions = updatedRecognitions;
            }
            if (cacheRecognitions.size() == 3) {
                int goldMineralX = -1;
                int silverMineral1X = -1;
                int silverMineral2X = -1;
                for (Recognition recognition : cacheRecognitions) {
                    if (recognition.getLabel().equals(LABEL_GOLD_MINERAL)) {
                        goldMineralX = (int) recognition.getLeft();
                    } else if (silverMineral1X == -1) {
                        silverMineral1X = (int) recognition.getLeft();
                    } else {
                        silverMineral2X = (int) recognition.getLeft();
                    }
                }
                if (goldMineralX != -1 && silverMineral1X != -1 && silverMineral2X != -1)
                    if (goldMineralX < silverMineral1X && goldMineralX < silverMineral2X) {
                        return GoldPos.LEFT;
                    } else if (goldMineralX > silverMineral1X && goldMineralX > silverMineral2X) {
                        return GoldPos.RIGHT;
                    } else {
                        return GoldPos.MIDDLE;
                    }
            }
            return GoldPos.NONE_FOUND;
    
        }
    
    }
    

    Next Steps

    We need to implement detection using OpenCV, and make our class conform to VisionProvider, so that we can easily swap it out for TensorflowIntegration.

    We also need to do the same using our Convolutional Neural Network.

    Finally, it might be beneficial to have a dummy implementation that always “detects” the gold as being in the middle, so that if we know that all our vision implementations are failing, we can use this dummy one to prevent our autonomous from failing.

    OpenCV Support

    31 Dec 2018

    OpenCV Support By Arjun

    Task: Add OpenCV support to vision pipeline

    We recently refactored our vision code to allow us to easily swap out vision implementations. We had already implemented TensorFlow, but we hadn't implemented code for using OpenCV instead of TensorFlow. Using the GRIP pipeline we designed earlier, we wrote a class called OpenCVIntegration, which implements VisionProvider. This new class allows us to use OpenCV instead of TensorFlow for our vision implementation.
    Our code for OpenCVIntegration is shown below.

      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    public class OpenCVIntegration implements VisionProvider {
    
        private VuforiaLocalizer vuforia;
        private Queue<VuforiaLocalizer.CloseableFrame> q;
        private int state = -3;
        private Mat mat;
        private List<MatOfPoint> contours;
        private Point lowest;
    
        private void initVuforia() {
            VuforiaLocalizer.Parameters parameters = new VuforiaLocalizer.Parameters();
            parameters.vuforiaLicenseKey = RC.VUFORIA_LICENSE_KEY;
            parameters.cameraDirection = VuforiaLocalizer.CameraDirection.FRONT;
            vuforia = ClassFactory.getInstance().createVuforia(parameters);
        }
    
        public void initializeVision(HardwareMap hardwareMap, Telemetry telemetry) {
            initVuforia();
            q = vuforia.getFrameQueue();
            state = -2;
    
        }
    
        public void shutdownVision() {}
    
        public GoldPos detect() {
            if (state == -2) {
                if (q.isEmpty())
                    return GoldPos.HOLD_STATE;
                VuforiaLocalizer.CloseableFrame frame = q.poll();
                Image img = VisionUtils.getImageFromFrame(frame, PIXEL_FORMAT.RGB565);
                Bitmap bm = Bitmap.createBitmap(img.getWidth(), img.getHeight(), Bitmap.Config.RGB_565);
                bm.copyPixelsFromBuffer(img.getPixels());
                mat = VisionUtils.bitmapToMat(bm, CvType.CV_8UC3);
            } else if (state == -1) {
                RoverRuckusGripPipeline pipeline = new RoverRuckusGripPipeline();
                pipeline.process(mat);
                contours = pipeline.filterContoursOutput();
            } else if (state == 0) {
                if (contours.size() == 0)
                    return GoldPos.NONE_FOUND;
                lowest = centroidish(contours.get(0));
            } else if (state < contours.size()) {
                Point centroid = centroidish(contours.get(state));
                if (lowest.y > centroid.y)
                    lowest = centroid;
            } else if (state == contours.size()) {
                if (lowest.x < 320d / 3)
                    return GoldPos.LEFT;
                else if (lowest.x < 640d / 3)
                    return GoldPos.MIDDLE;
                else
                    return GoldPos.RIGHT;
            } else {
                return GoldPos.ERROR2;
            }
            state++;
            return GoldPos.HOLD_STATE;
        }
    
        private static Point centroidish(MatOfPoint matOfPoint) {
            Rect br = Imgproc.boundingRect(matOfPoint);
            return new Point(br.x + br.width/2,br.y + br.height/2);
        }
    }public class OpenCVIntegration implements VisionProvider {
    
        private VuforiaLocalizer vuforia;
        private Queue<VuforiaLocalizer.CloseableFrame> q;
        private int state = -3;
        private Mat mat;
        private List<MatOfPoint> contours;
        private Point lowest;
    
        private void initVuforia() {
            VuforiaLocalizer.Parameters parameters = new VuforiaLocalizer.Parameters();
            parameters.vuforiaLicenseKey = RC.VUFORIA_LICENSE_KEY;
            parameters.cameraDirection = VuforiaLocalizer.CameraDirection.FRONT;
            vuforia = ClassFactory.getInstance().createVuforia(parameters);
        }
    
        public void initializeVision(HardwareMap hardwareMap, Telemetry telemetry) {
            initVuforia();
            q = vuforia.getFrameQueue();
            state = -2;
    
        }
    
        public void shutdownVision() {}
    
        public GoldPos detect() {
            if (state == -2) {
                if (q.isEmpty())
                    return GoldPos.HOLD_STATE;
                VuforiaLocalizer.CloseableFrame frame = q.poll();
                Image img = VisionUtils.getImageFromFrame(frame, PIXEL_FORMAT.RGB565);
                Bitmap bm = Bitmap.createBitmap(img.getWidth(), img.getHeight(), Bitmap.Config.RGB_565);
                bm.copyPixelsFromBuffer(img.getPixels());
                mat = VisionUtils.bitmapToMat(bm, CvType.CV_8UC3);
            } else if (state == -1) {
                RoverRuckusGripPipeline pipeline = new RoverRuckusGripPipeline();
                pipeline.process(mat);
                contours = pipeline.filterContoursOutput();
            } else if (state == 0) {
                if (contours.size() == 0)
                    return GoldPos.NONE_FOUND;
                lowest = centroidish(contours.get(0));
            } else if (state < contours.size()) {
                Point centroid = centroidish(contours.get(state));
                if (lowest.y > centroid.y)
                    lowest = centroid;
            } else if (state == contours.size()) {
                if (lowest.x < 320d / 3)
                    return GoldPos.LEFT;
                else if (lowest.x < 640d / 3)
                    return GoldPos.MIDDLE;
                else
                    return GoldPos.RIGHT;
            } else {
                return GoldPos.ERROR2;
            }
            state++;
            return GoldPos.HOLD_STATE;
        }
    
        private static Point centroidish(MatOfPoint matOfPoint) {
            Rect br = Imgproc.boundingRect(matOfPoint);
            return new Point(br.x + br.width/2,br.y + br.height/2);
        }
    }
    

    Teammember Statistics Update

    01 Jan 2019

    Teammember Statistics Update By Ethan

    Task: Look at the commitment changes over time of our team

    It's a new year! And, with this new year comes new tournaments, new experiences, new projects, and more. But, to grow, one must reflect. Iron Reign's had a pretty big year, from going to Worlds to the prospect of a new MXP. And, while we can't analyze every possible aspect of the team, we can look at our stats page and differences from last year to this year.

    We aren't amazing at keeping an archive of our team hours and such, so I had to pull these statistics from archive.org. The first archived version of the page in 2018 was from Feb. 14.

    As of today, our stats page displays this.

    Finally, the statistics page at the beginning of the season looked like this.

    And, the differences between each are below.

    Next Steps

    Iron Reign wishes y'all a Happy New Year! We wish to see progress among us all in these coming months.

    Off-Schedule Meeting Log, Winter Edition

    03 Jan 2019

    Off-Schedule Meeting Log, Winter Edition January 03, 2019 By Ethan, Evan, Karina, Abhi, and Arjun

    Meeting Log (Week of)January 03, 2019

    We have quite a few tasks this week, including:

    • Latch design

    • We've had an idea for a latch for a while. We started with the simple hook pictured below, but it was just that, a start. We want to move on to bigger and better things. So, we designed a new version, displayed below the hook.

      This version uses two of the above gears to form the latch. Then, as the robot shifts, the latch becomes undone, allowing the robot to gently fall upon the ground.
    • Latch attachment

    • So, just having a design isn't enough, it actually has to be implemented. So, Evan cut some attachment points that also function as linear slide stoppers as detailed in our last post.

      Then, we attached the latching system to the attachment posts on each side, mounting the latching system as seen here.

    • Fixing superman and wheels

    • While Karina was testing our robot, BigWheel suddenly began to lose friction, stranding itself in the middle of the field. It would only operate if more weight was put upon it. We haven't determined the reason yet; it could be that the temperature caused some strange material effect, but the new linear slides could also have shifted the weight distribution of the robot away from the main wheels. In addition, the Superman arm failed to work. We've narrowed it down to a code issue, but beyond that, we're scratching our heads.


      Karina putting weight on the robot

    • End\Beginning of year review

    • Iron Reign has a tradition of reviewing the performance of the past year; this year I chose to begin it using numbers. I went back in the archives and used the stats page to count contributions from team members. This post can be found here.
    • TensorFlow & OpenCV testing

    • We still need to fully implement gold/silver particle detection, as well as the rest of our autonomous. To begin on this long, arduous process, Abhi and Arjun worked from home to begin vision integration. At the current point, the program detects gold most of the time. We are experiencing a bug in that the telemetry isn't detected.

    Debug OpenCV Errors

    03 Jan 2019

    Debug OpenCV Errors By Arjun

    Task: Use black magic to fix errors in our code

    We implemented OpenCV support in our code, but we hadn’t tested it until now. Upon testing, we realized it didn't work.

    The first problem we found was that Vuforia wasn’t reading in our frames. The queue which holds Vuforia frames was always empty. After making lots of small changes, we realized that this was due to not initializing our Vuforia correctly. After fixing this, we got a new error.

    The error message changed, meaning that we fixed one problem, but there was another problem hiding behind it. The new error we found was that our code was unable to access the native OpenCV libraries, namely it could not link to libopencv_java320.so. Unfortunately, we could not debug this any further.

    Next Steps

    We need to continue debugging this problem and find the root cause of it.

    Auto Paths

    04 Jan 2019

    Auto Paths By Abhi

    Task: Map and code auto for depot side start

    Today, we implemented our first autonomous path. Since we we still didn't have a complete vision software, we made these manually so we can integrate vision without issues. Here are videos of all of the paths. For the sake of debugging the bot stops after turning towards the crater but in reality it will drive and park in the far crater. These paths will help us score highly during autonomous.

    Center

    Left

    Right

    Next Steps

    We will get vision integrated into the paths.

    Modeling Slide Barriers

    04 Jan 2019

    Modeling Slide Barriers By Kenna

    Task: Create barriers to prevent the linear slide from falling

    Recently, we added polycarb barriers to our linear slide system. They were created as a temporary measure by bending the polycarb with a blow torch and are less exact than we would like.

    I originally tried to overlap 3 rectangles, and Creo didn't register it as an enclosed shape and wouldn't extrude. For any geometric shapes you want to extrude, constructed lines in sketch mode make it much easier. They ensure that everything is perpendicular, but also that your shape will still enclose so you can extrude it. Armed with constructed lines, Our models printed in roughly 30 minutes using nylon on a Taz printer.

    Next Steps

    Though nylon has its many uses, it's still not as strong as polycarb. We're looking into whether or not the printed version will withstand the slide system. Perhaps, we may need to pursue a different material or a more exact method of creating polycarb barriers. Any posts continuing this thread will be linked here.

    Meeting Log

    05 Jan 2019

    Meeting Log By Bhanaviya, Charlotte, Kenna, Evan, Arjun, Ethan, Janavi, Karina, Austin, Lin, Jayesh, and Omar
    Meeting Log January 05, 2019 Today's Meet Objectives

    Today's goals include lowering the latch on Superman so that it becomes more hook-friendly, taking a team picture, and re-assigning presentation slides.

    Today's Meet Log

    • Fix latch system
    • On the robot, Evan lowered the latch system so that the system would be compatible for the hanging task. After the latch system was lowered, bolts on both sides of the lift system had to be moved so that they would align with one another. See more latch updates at (E-82, Latch Model).
    • Add vision functionality to autonomous
    • In terms of code, Arjun is working on using internal Tensorflow Object Detection code to grab frames for the autonomous to avoid any bugs in the custom code he has written so far. Additionally, he is working on ensuring accuracy in the output of the OpenCV pipeline so that it will consistently sample correctly.
    • Presentation feedback from judges
    • With the alums as our judges, we did a thorough presentation run-through. A critique that persisted from our "judges" was that we weren't as enthusiastic as we could have been. So, we decided that a better way to convey our energy was by finding out a way in which we stood out from other competing teams. One way for us to stand out was the back-and-forth debate between Karina and Evan on Mini Mech vs Big Wheel. Since that interaction effectively conveyed both the iterative nature of Iron Reign's engineering process as well as our team's quirks as a whole. In the future we are going to do many run-throughs to make the presentation informative and crisp.
    • Team picture
    • And last but not least, we took a suitable team picture for our journal - this one encompassing both current and old members of the team.

    Issues with Driving

    05 Jan 2019

    Issues with Driving By Karina

    Task: Get ready for Regionals

    Regionals is coming up, and there are some driving issues that need to be addressed. Going back to November, one notable issue we had at the Conrad qualifier was the lack of friction between Bigwheel's wheels and the field tiles. There was not enough weight resting on the wheels, which made it hard to move suddenly.

    Since then many changes have been made to Bigwheel in terms of the lift. For starters, we switched out the REV extrusion linear slide for the MGN12H linear slide. We have also added more components to intake and carry minerals. These steps have fixed the previous issue if we keep the lift at a position not exceeding ~70 degrees while moving, but having added a lot of weight to the end of the slide makes rotating around the elbow joint of Bigwheel problematic. As you can see below, Bigwheel's chassis is not heavy enough to stay grounded when deploying the arm (and so I had to step on the back end of Bigwheel like a fool).

    Another issue I encountered during driver practice was trying to deposit minerals in the lander. By "having issues" I mean I couldn't. Superman broke as soon as I tried going into the up position, and this mechanism was intended to raise Bigwheel enough so that is would reach the lander. Regardless of Superman's condition, the container for the minerals was still loose and not attached to the servo. Consequently, I could not rotate the lift past the vertical without dropping the minerals I had collected.

    Next Steps

    To run a full practice match, Superman and the container will need to be fixed, as well as the weight issue. Meanwhile, I will practice getting minerals out of the crater.

    Latch Model

    06 Jan 2019

    Latch Model By Abhi and Justin

    Task: Model and print the Latch

    Early in the season, we made a hook, Although it was durable, it required a higher amount of precision than we would have liked to have, especially in the rushed last seconds of the endgame. As a result, we designed a latch that is completely 3D printed and placed it on the robot.

    This is the general model of it fit together (excluding left panel). The panels in the front are there to guide the latch into place when extending upwards from the ground.

    This wheel represents what actually does the latching. When sliding upwards, there are two wheels that twirl in opposite directions and slot into the lander bracket. We attached a smaller piece to this to tension with a rubber band allowing us to move up into the bracket but not back down.

    Next Steps

    We actually mounted this onto the robot and it seems to hold its own weight. However, the mounting was done very weirdly so we need to find a definite place for this system before we use it in auto or end game.

    Vision Summary

    06 Jan 2019

    Vision Summary By Arjun and Abhi

    Task: Reflect on our vision development

    One of our priorities this season was our autonomous, as a perfect autonomous could score us a considerable amount of points. A large portion of these points come from sampling, so that was one of our main focuses within autonomous. Throughout the season, we developed a few different approaches to sampling.

    Early on in the season, we began experimenting with using a Convolutional Neural Network to detect the location of the gold mineral. A Convolutional Neural Network, or CNN, is a machine learning algorithm that uses multiple layers which "vote" on what the output should be based on the output of previous layers. We developed a tool to label training images for use in training a CNN, publicly available at https://github.com/arjvik/MineralLabler. We then began training a CNN with the training data we labeled. However, our CNN was unable to reach a high accuracy level, despite us spending lots of time tuning it. A large part of this came to our lack of training data. We haven't given up on it, though, and we hope to improve this approach in the coming weeks.

    We then turned to other alternatives. At this time, the built-in TensorFlow Object Detection code was released in the FTC SDK. We tried out TensorFlow, but we were unable to use it reliably. Our testing revealed that the detection provided by TensorFlow was not always able to detect the location of the gold mineral. We attempted to modify some of the parameters, however, since only the trained model was provided to us by FIRST, we were unable to increase its accuracy. We are currently looking to see if we can detect the sampling order even if we only detect some of the sampling minerals. We still have code to use TensorFlow on our robot, but it is only one of a few different vision backends available for selection during runtime.

    Another alternative vision framework we tried was OpenCV. OpenCV is a collection of vision processing algorithms which can be combined to form powerful pipelines. OpenCV pipelines perform sequential transformations on their input image, until it ends up in a desired form, such as a set of contours or boundaries of all minerals detected in the image. We developed an OpenCV pipeline to find the center of the gold mineral given an image of the sampling order. To create our pipeline, we used a tool called GRIP, which allows us to visualize and tune our pipeline. However, since we have found that bad lighting conditions greatly influence the quality of detection, we hope to add LED lights to the top of our phone mount so we can get consistent lighting on the field, hopefully further increasing our performance in dark field conditions.

    Since we wanted to be able to switch easily between these vision backends, we decided to write a modular framework which allows us to swap out vision implementations with ease. As such, we are now able to choose which vision backend we would like to use during the match, with just a single button press. Because of this, we can also work in parallel on all of the vision backends.

    Another abstraction we made was the ability to switch between different viewpoints, or cameras. This allows us to decide at runtime which viewpoint we wish to use, either the front/back camera of the phone, or external webcam. Of course, while there is no good reason to change this during competition (hopefully by then the placement of the phone and webcam on the robot will be finalized), it is extremely useful during the development of the robot, because we don't have everything about our robot finalized.

      Summary of what we have done:
    • Designed a convolutional neural network to perform sampling.
    • Tested out the provided TensorFlow model for sampling.
    • Developed an OpenCV pipeline to perform sampling.
    • Created a framework to switch between different Vision Providers at runtime.
    • Created a framework to switch between different camera viewpoints at runtime.

    Next Steps

    We would like to continue improving on and testing our vision software so that we can reliably sample during our autonomous.

    Minor Code Change

    11 Jan 2019

    Minor Code Change By Karina

    Task: Save Bigwheel from self destruction

    The other day, when running through Bigwheel's controls, we came across an error in the code. The motors on the elbow did not have min and max values for its range of motion, causing the gears to grind in non-optimal conditions. Needless to say, Iron Reign has gone through a few gears already. Adding stops in the code was simple enough:

    Testing the code revealed immediate success. we went through the full range of motion and no further grinding occurred.

    Next Steps

    Going forward, we will continue to debug code through drive practice.

    Meeting Log

    12 Jan 2019

    Meeting Log January 12, 2019 By Charlotte, Kenna, Karina, Evan, Justin, Abhi, Ethan, Arjun, and Janavi

    Meeting Log January 12, 2019

    Today's Meet Objectives

    Today our goals include presentation practice, autonomous testing and fine tuning, and build changes from the newest update of the latch to replacing our REV rails with carbon fiber tubing.

    Presentation practice

    Today's Meet Log

    • Presentation practice
    • With the competition a week away, we are practicing our presentation frequently. Last time we presented, we were a bit all over the place; we talked over each other and stuttered quite a bit. This practice is to minimize these mistakes and finish our presentation in an appropriate amount of time, so we can answer questions.
    • Latch update
    • We finished up the design and print for version 2 of the latch system, and Janavi assembled it. The 2nd version changes the stopping mechanism; the bearings are now in the mount rather than in the actual sprockets. More details on this version of the latch can be found at (E-93, Latch Updates).

      Janavi & the latch
    • Lift redesign
    • Evan and Karina worked on reattaching/realigning the belt drive for the lift. It would go off in unintended angles, the process went smoothly except for the fact that we are going to need to tighen the zip ties by replacing them frequently. See more on the belt drive at (E-87, Belt Drive).
    • Carbon fiber redesign
    • The REV rails for our intake system are quite heavy, so we are building a new intake with its old components and carbon fiber tubing instead of REV rails. Justin designed and started a print for a perpendicular mounting bracket for the carbon fiber tubes.

      Justin modelling
    • Mineral storage
    • To add to the new intake system, Evan is making a new box to store minerals out of polycarb.
    • Autonomous and vision
    • Arjun tested and fine-tuned our computer vision. This vision uses Open CV, taking inspiration from the published pipeline and Doge CV. The vision is working well, so he is integrating it into the autonomous program that Abhi created. Karina and Arjun have been working diligently to test this autonomous so that it is in working condition for the next competition.
    • Side shield design
    • Ethan began the design for side shields, which we are planning to cut out using a laser cutter that is stored in our school's engineering classroom. To see more on the design process of the side shields, see (E-87, Designing Side Shields).

    Today's Member Work Log

    Team MembersTaskStart TimeDuration
    CharlotteBlog2:004
    JanaviBuild2:004
    EthanBlog2:004
    Evan/td>Build2:004
    AbhiCode & Testing2:004
    ArjunCode & Testing2:004
    KarinaBuild & Testing2:004
    JustinModelling2:004
    KennaProofreading2:004

    Code Updates

    13 Jan 2019

    Code Updates By Abhi and Arjun

    Task: Detail last-minute code changes to autonomous

    It is almost time for competition and with that comes a super duper autonomous. For the past couple of weeks and today, we focused on making our depot side work consistently. Because our robot wasn't fully built, we couldn't do auto-delatching. Today, we integrated our vision pipelines into the auto and tested all the paths with vision. They seemed to work at home base but the field we have isn't built to exact specifications.

    Next Steps

    At Wylie, we will have to tune auto paths to adjust from our field's discrepancies.

    Belt Drive

    14 Jan 2019

    Belt Drive By Evan and Karina

    Task: Install a belt lift on our robot for depositing

    The most recent addition to BigWheel has been the addition of a belt drive lift on either side of the linear slides. We chose a belt lift over a string and pulley lift because it is a much more secure, closed system, and doesn’t require stringing. For these reasons, we switched to belt drive. While more complicated to build, it requires no spool, only tension, no knots, and is super smooth in its motion. Our current design relies on the same time of belt drive used on 3D printers, something that we as a team are familiar with. The issues that come with using a belt drive lift include a more complicated setup and a more difficult time to repair in the pit, a lower ability to bear weight due to slippage of the teeth, and difficulties in tensioning.

    Next Steps

    So far the belt drive has experienced a bit of slippage, but with the intake redesign we are just about to start on, it should have a better time lifting the intake.

    Designing Side Shields

    14 Jan 2019

    Designing Side Shields By Ethan

    Task: Create side shields for BigWheel

    Iron Reign has access to an Epilog Mini laser-cutter through our school, so we decided to use it to create side shields to protect our robot during defensive play, display our team numbers, and prevent wire entanglement

    We created our original design in Illustrator. The canvas size was 12"x18", ensuring that our design stayed within the size limits. Then, we found the side height of our robot's wheel hubs (1.3") for later use. The original design, above, was inspired by 1960s teardrop campers.

    The Epilog Mini is a CO2 laser cutter, which means that it can cut acrylic, cardboard, and wood. We don't keep our robot at school, which meant that we had to make a test cut at school. We had a variety of issues, our first print cut way too small, about 8.5"x11" when it should've been 17"x8". Our next cut caught on fire, burning in the machine as I tried to put it out without water. Our final test was successful, producing the cutout below.

    But, when fit to the robot, issues became apparent. It was barely scraping the size limit, and while it fit over the wheel mounts, it failed to match the shape of the wheel. And, the shield grazed the ground, meaning that any rotation from the Superman arm would damage it or the arm. So, we created a second, smaller design and cut it using wood, resulting in a final design.

    Selective Intake

    17 Jan 2019

    Selective Intake By Evan

    Task: Design a new sorting mechanism for gold and silver particles

    The differentiation between the different shapes of minerals has been something we’ve been thinking about since day one. At the time we designed a box that allowed us to sort out blocks and balls by size, but weren't able to implement it. Our original selective intake only accepted balls so we only have to go to the one loading area, but our new design allows us to deliver both blocks and balls to their respected containers. It wasn’t implemented earlier because the robot just wasn’t tall enough. With our new belt drive, It’s possible to do.

    This we decrease the difficulty of TeleOp for the drivers by increasing the speed of deposit while decreasing accuracy needed. The selective intake also has a door built into it, which holds back the minerals until we’re ready to deposit. Gravity does the rest of the work, letting the balls fall down into a brachistochrone, and letting the cubes fall through.

    The other thing that we wanted to do was to have this process be almost completely mechanical, taking more stress off the drivers. The gate is released when a lever is pushed in and translated to a quicker motion with a pair of gears at a 2:1 ratio allowing for an easy deposit. The frame of the intake is made out of polycarb, bent with the sheet bender and cut into the correct form with the bandsaw.

    The intake also uses our ice cube design from earlier in the season. It is compliant and with its new 3D-printed supports (Ninjaflex, 20% infill), it will be much more effective than the previous intake. This time, instead of stapling the thing together, we are sewing it shut, which should hopefully negate any problems the previous version had, such as coming apart where the two sides met. The intake will be offset a little from the ice tray intake to allow for as much grabbing action as possible.

    Next Steps

    Now we must allow the drive team as much time to practice with it as possible.

    Pool Noodle Intake

    18 Jan 2019

    Pool Noodle Intake By Evan

    Task: Design a quick intake for the robot before competition

    The night before our final qualifier, we decided that the intake system on the robot was not up to our standards. To fix this issue, we poked some holes in a pool noodle, and put surgical tubing through it. While this was a quick and semi effective fix, it did have some problems, mostly due to the rushed nature of its construction. The tubing slid back and forth, and the noodle itself was slightly offset from the depositing box, causing it to be a little off. It could only be remedied by taping all the surgical tubing together, allowing it to grip the minerals better and allow for a smoother intake. The other big issue with this version of the intake was that the depositing mechanism was imprecise and required very accurate driver control and a little bit of luck.

    Next Steps

    This isn't a permanent solution, but we need to have something simple so that we can intake the gold and silver particles at the tournament. We plan to replace this with the actual corn on the cob intake after the competition.

    Wylie East Qualifier 2019

    19 Jan 2019

    Wylie East Qualifier 2019 By Ethan, Charlotte, Janavi, Evan, Abhi, Arjun, Karina, and Justin

    Task: Compete at Wylie East

    Wylie East was Iron Reign's second qualifier of the year. Having qualified at the first one, we planned to use the tournament as an opportunity to practice the presentation and driver practice, as well as check up on other teams' progress. We didn't have a working robot going in - we had found that our latch was one-time-use only the night before, we had recently swapped intakes due to weight, and our autonomous was non-existent.

    Judging

    Unlike last tournament, we had actually done presentation practice, cleaned out the judging box, and revamped the presentation. We were missing a member, but we had already reassigned their slides well in advance so that people would practice them.

    And, our practice paid off. We had pretty seamless transitions, we had a good energy that the judges enjoyed, and our robot demo went really well. We got our content across, and even better, we finished way under 15 minutes so that the judges could ask us questions (even though they didn't have many to ask).

    Later, we had one group of judges come up to greet us. They mainly asked about our robot and its various functions and design choices. Our robot wasn't there, so we had to rely on old prototypes.

    Inspection

    Our robot passed field and robot inspection with flying colors and no reprimands, probably the first time that this has ever happened for Iron Reign.

    Robot Game

    Like above, we really didn't have a perfectly working robot. But, we performed much better than past tournaments due to improvements.

    Match 1

    For the first time in Iron Reign history, we tied, 211-211. Our autonomous sampled and we parked, and we were able to latch in the endgame, so it was a pretty good match all around.

    Match 2

    We lost the next match, 134-85. Our partner's robot shut down, so we couldn't keep up with the opponent. Our auto worked though, as well as latching.

    Match 3

    We lost this match, 102-237. This time, our autonomous didn't work, as our team marker fell off and knocked us off our path.

    Match 4

    We lost, 123-139. Again, our autonomous workde fine, everything else just failed.

    Match 5

    We lost, 122-154. Everything was going smoothly, but our alliance was blown out of the water during particle scoring.

    After Judging and Awards

    We weren't picked for an alliance, so we had to wait for awards. And, we ended with three awards: 1st Connect, 2nd Innovate, and 2nd Motivate. We were ineligible for Inspire due to our prior performance, but we don't believe we would have won it - the head judge stated that this was the closest tournament to regionals that we would get, so there was plenty of tough competition.

    After the awards ceremony, we came up to the fields to help clean and talk to referees. There, we were told something that we enjoyed; one of the refs told us that Iron Reign was one of the nicest and most graciously professional teams they had dealt with this season. We really liked to hear that, and it meant a lot. Also, we were told by another observer that we needed to make what our robot did more clear in the presentation, a point that we'll expand upon in the post-mortem.

    Next Steps

    See post-mortem.

    Competition Day Code

    19 Jan 2019

    Competition Day Code By Abhi and Arjun

    Task: Update our code

    While at the Wylie quaiifier, we had to make many changes because our robot broke the night before.

    First thing that happened was that the belt code was added. Previously, we had relied on gravity and the polycarb locks we had on the slides but we quickly realized that the slides needed to articulate in order to preserve Superman. As a result, we added the belts into our collector class and used the encoders to power them.

    Next, we added manual overrides for all functions of our robot. Simply due to lack of time, we didn't add any presets and we focused on making the robot functional enough for competition. During competition, Karina was able to latch during endgame with purely the manual overrides.

    Finally, we did auto path tuning. We ended up using an OpenCV pipeline and we were accurately able to detect the gold mineral at all times. However, our practice field wasn't setup to the exact specifications needed so we spent the majority the day at the Wylie practice field tuning depot side auto (by the end of the day it worked almost perfectly every time.

    Next Steps

    We were lucky to have qualified early in the season we could make room for mistakes such as this. However, it will be hard to sustain this, so we must implement build freezes in the future.

    Tokens!

    23 Jan 2019

    Tokens! By Ethan

    Task: Design tokens to hand out at the North Texas Regional

    We recently taught ourselves how to use the laser-cutter. Now that we've gone mad with power, we've decided to make little handouts for other teams. We plan to cut these on wood, with vector cutting around the edges and raster engraving for the logo and text.

    Next Steps

    We're really excited to go to regionals and good luck to whichever team is reading this!

    Three SEM Robotics Teams have now advanced to the FTC North Texas Regional Championship!

    26 Jan 2019

    Three SEM Robotics Teams have now advanced to the FTC North Texas Regional Championship! By Ethan

    This Saturday our two all-freshmen rookie FTC Robotics teams took it up a notch at their last qualifier tournament of the season. Iron Core was 5th place of 30 in robot performance and made it into the playoff rounds, but were then eliminated by the highest scoring team in our region. Iron Star also made it into the playoffs and then advanced upon receiving 2nd place Inspire Award along with the Control Award.

    Iron Core: Mahesh Natamai, Ben Bruick, Jose Lomeli, Samuel Adler, Ephraim Sun (not present)

    Iron Star: Katelyn Cumplido, Harish Jai Ganesh, Benjamin Oommen, Shawn Halimman, Aaron Daane, Evan Branson, Paul Lea, Beau Aveton, Cooper Clem (not present)

    Iron Star joins our veteran teams Imperial Robotics who advanced on Jan 19th and Iron Reign who advanced in November and double-qualified on Jan 19th. Please congratulate our team members - we are the only school in the region with 3 advancing teams and it's unusual for a rookie team to advance. The Regional Championship will be held February 23rd at Wylie East High School. Five or six teams will advance from there to represent our region at the FTC World Championship in April.

    This coming Saturday, February 2nd, is the Dallas ISD STEM Expo. Our teams will be there representing SEM and teaching younger students how to program simple sumo robots and how to use 3D printers. Come see us at the Dallas City of Learning exhibit where our teams will also be demonstrating their advancing robots and staffing the Mobile STEM lab that Iron Reign built. Tickets are free but you need to register: here.

    Meeting Log

    26 Jan 2019

    Meeting Log January 26, 2019 By Charlotte, Kenna, Ethan, Justin, Arjun, Abhi, and Bhanaviya

    Meeting Log January 26, 2019

    Today's Meet Objectives

    We are going to use our experience from last week to guide our improvement until Regionals. Today we are going to discuss what these improvements exactly entail and outline a timeline for when we need to accomplish these improvements in order to allow adequate time to dedicate to autonomous code and drivers' practice.

    Today's Meet Log

    • Robot repairs
    • There were some problems with our motors: one of the axle hubs is stripped. Though we attempted to replace the axle hubs, Iron Star and Iron Core took brought most of the tools that we need to their competition.

      Karina and the robot
    • Code updates
    • We did a lot of last minute code changes during the competition. Abhi and Arjun cleaned it up and removed legacy code. Autosetup in autonomous, autonomous that works for all sides of the lander, was ditched a long time ago as it was not reliable by the time we needed to test before competition. Now that we have some time before regionals, we are bringing autosetup back. We are taking all of the code we made from scratch during the competition and integrating it into autosetup, which we hope to have ready soon to start driving practice as soon as possible.

      Coders
    • Robot model changes
    • Justin worked on the robot model. We've made lots of changes on the robot in the past month, so besides the changes that we tested on our model, it needed a couple of updates; the upgraded deposit and reinforced Superman arm. The finished robot model for BigWheel can be found at (E-107, Bigwheel Model).

    • Blog updates
    • Ethan worked on the Wylie post and the postmortem, which can be found at (T-38, Wylie East Postmortem).

    Today's Work Log

    Team MembersTaskStart TimeDuration
    AllPlanning Meeting2:10pm.25
    CharlotteTask2:004
    KennaTask2:004
    JanaviTask2:004
    EthanTask2:004
    AbhiTask2:004
    ArjunTask2:004
    JustinTask2:004

    Wylie East Postmortem

    26 Jan 2019

    Wylie East Postmortem By Ethan, Janavi, Charlotte, Karina, Abhi, Justin, Kenna, Arjun, and Bhanaviya

    Task: Analyze what went wrong at Wylie

    We performed well at Wylie, comparatively speaking. But, there's always room for improvement.

    Problems:

    The Robot & Code

    • Latch
    • So our first major issue was the latch. We had put together the latch the week before the tournament and tested it the night before, finding that the bearings fell out of the nylon backing under the pressure of lifting the robot. Effectively, this meant that we could only use the latch once per match as we had to reset the bearings after each use. So, we're pursuing two avenues to fix this: cut the latch in aluminum or completely redesign the latch.
    • Presets & Limits
    • Another issue that occurred was that the robot kept on injuring itself. It repeatedly overextended the Superman arm, causing its gears to disengage and strip. The same happened for the intake elbow - we didn't have limits set in so it would move too much and break. And with the belt arms, we stretched the belts out because we didn't have limits created.
    • TeleOp Helplessness
    • Another issue was that our robot didn't function well between autonomous and endgame. Our intake was recently created, and as a result, we felt it better to not attempt to score minerals. We're working on a new intake for this, some combination of our old corn-cob intake but without the Tetrix pieces that made it so heavy.

    Preparation, Presenation & Judging

    • Prep
    • We didn't pack for this tournament and as a result, we didn't have any nuts or bolts, a pretty big oversight. From now on we plan to set up boxes to bring for the week before.
    • Practice
    • Our presentation was better this time. Still, we didn't get enough practice. There were a few long pauses between people and we skipped a couple of slides. The only way to fix lack of practice is more practice.
    • Energy
    • We always need energy, it's what draws people in and gets judges to remember our presentation. Currently, we do a mini-debate within the presentation over our design choices but we plan to improve this and make it more point-by-point. In the same vein, we need to be louder.

    Pit Conduct & Misc

    • Prep Scouting Sheet
    • We need to make a scouting sheet for the tournament ahead of time with past performance. As well, we need to make a second sheet prefilled with team names for the day of. This would just reduce the amount of time spent to prepare at the tournament and transfer it to weeks-before prep.
    • Focus in pits
    • A consistent issue for Iron Reign is focus. People'll do their homework and things that aren't necessarily related to robotics in the pits and we need to stop; it always looks better to be focused when judges come around. We're still thinking of ideas to stop this.

    Latch Updates

    26 Jan 2019

    Latch Updates By Justin, Abhi, and Ben

    Task: Update the latch

    Our first attempt at a latch was made out of flat metal L brackets that would slide into the hook, but they slid off under any stress. We decided to make a latch with a ratchet and sprocket system. The easiest way to accomplish this was to 3d print it. There are two sprockets and the lander hook will slide in between them. This causes the sprockets to rotate and then lock, allowing the latch to support the weight of the robot. To disengage, the driver just needs to move the ratchet up and over the hook. The picture of the model shows our change in design because the right sprocket is mounted to a bearing in mount, while the left side has the bearing in the sprocket.

    The purpose of our new latch is to increase the speed of latching. The latch requires one direction of motion to fully engage it, making it perfect for autonomous. The latch also has room for error because the funnel shape of the fron plates guides the hook into the sprockets.

    Issues

  • bearings pop out under stress(fixed by moving bearings from sprocket mount to sprockets)
  • whole subsystem bends under stress(fixed by mounting the latch to aluminum instead of polycarb)
  • difficulty turning ratchet(fixed by trimming pieces)
  • Still not strong enough to support weight of robot in a match
  • Hard to get close enough to lander to engage ratchet
  • Next Steps

    We need to either strengthen our current design or find a better alternative.

    Road to Regionals

    27 Jan 2019

    Road to Regionals By Ethan

    Task: Consider what needs to be done before regionals

    Engineering Notebook:

    • Fix old posts, add calculations and reasons why
      • Intake posts
    • Backdate prototypes
      • Latch System
      • Superman - how we figure out what height to raise it
      • Which wheels we used based on friction
      • Which motors and why ( gear ratios and speed)
      • Gear ratio of superman
      • Linear slide vs new slides - how they work differently
      • Belt system
      •  
    • Fix timeline
    • Update posters
    • Write posts about last minute things
      • Belts
      • Autonomous
      • Latch = bad
      • Tournament
      • Post mortem
    • Create a research-like poster with all of iron reigns calculations on it
    • Create a robot manual using 3D model renders
      • Torque values, what it does, all that stuff

    Build:

    • Aluminum latch
      • Create 3D model
      • Cut at makerspace
    • Intake redesign
      • Mount red intake onto carbon fiber
      • Attach to robot
    • Front “block”
      • Create 3D model
      • Machine out of aluminum
    • Side shields
      • Fix some design problems
        • Remove points
        • Add flourishes
      • Recut with thicker acrylic
      • Mount LEDs underneath
    • Update 3D model
      • Add motors, gears
      • Update intake

    Code:

    • Auto path for crater side
      • Vision after path is complete
    • Auto path for depot side double-sample
      • Vision after path is complete
    • Auto path for crater side double-sample
      • Vision after path is complete
    • Find presets for Superman and elbow
    • Endgame mode creation
      • openCV detection of latch
      • Auto-latching and delatching
    • Autoscore during teleop

    Other:

    • Driver practice
    • Make project management charts accessible
    • Print posters
    • Make banner
    • Print banner
    • Ensure we have tent parts
    • Tent design
      • Check amount of space
      • Trophy display
      • Fairy lights
      • Organization + tool cart
    • Hats
    • Scouting Sheet
    • Tokens
      • Create design in illustrator
      • Test design
      • Cut many
    • Are we bringing things to handout?
      • Tokens to hand out ( laser cut)
      • Business Cards

     

    Superman Calculations

    28 Jan 2019

    Superman Calculations By Ethan

    Task: Calculate torque and other values of the Superman arm on our robot

    We want to have our robot completely replicable through the journal. So, we found it necessary to include the power calculations of various subsystems on our robot.

    Superman Arm

    The Superman arm uses two REV Core Hex motors to lift the robot upward, outputting a base 125 RPM and 6.4 Newton-meters of torque. Then, we have 15-tooth gears attached to the motors, which in turn connect to 125-tooth gears for a gear ratio of 10.4:1. Using the torque calculation WheelT=MotorT*(output/input), we find that the total torque exerted downward by the arm is 66.6 N*m.

    Then, given that the arm is .304 meters long, the upwards force produced by the Superman arm is 20.29968 Newtons. The robot itself weighs about 20 pounds, or 89 Newtons. But, since the robot is moving around its center axis, we can neglect the lower half of the robot that touches the ground with the wheels, reducing our load to 44.5 Newtons. Then, taking the integral of force with respect to the radius measured from the Superman arm, we integrate the equation force=(force at top/radius to top)*radius=292.763r. Using the limits defined by the distance to the edge of the robot (0 to .152 meters), the downward torque created by gravity is 3.38 N*m. Modeling the robot as a single point, we get this diagram.

    But, the robot doesn't always operate at optimal load. For example, when the robot is at maximum extension, there are about 60N of load above the center arm and the center arm itself is extended 18 inches, or .4572 meters. Performing the same integral as before with the new limits (0, .4572+.152=.6092), we find that the maximum possible downward torque exerted on the arm is 54.33 N*m, resulting in a net torque of 12.7 N*m upward. Superman can still raise the robot upward, but much slower and with a much greater probability of gear slippage. At these torque levels, the plastic teeth of the gears slip if they're not perfectly aligned.

    Given that the gears are composed of Acetal (Delrin/POM), that the area of one tooth is (.00104 meters * .011 meters = 0.00001144 m^2), that the arm produces 66.6 N*m * .152 m = 10.12 Newtons of force, and the Delrin/POM deformation chart, we can find that the pressure on *one* tooth of the gear is P=F/A=10.12/.00001144=884615.38 Pascals or .88461538 MPa. And, consulting the Delrin/POM deformation chart below, using the long-term line for an hour of use, we retrieve a stress of ~.5%, meaning that the teeth of the gears deform by .5% per hour of use. This alone explains our gear slippage under high loads; as the pressure on a tooth increases, they cause more deformation, which in turn results less area contact between the teeth of the gears, which results in more stress, causing a negative feedback loop.

    However, this alone doesn't explain the stripping of the gears - the gears would only deform by .0572 uM; more analysis is required. When we inspected the superman gears more closely, we found that the gears barely interlocked - maybe 1% of the gears were touching. When we go back to the pressure equation, we find that this increases the pressure on each tooth to 88 MPa. Under the short-term compression curve below, we find the strain is about 5%, or 10x the strain. This results in a deformation of about 5uM, but the contact area itself is only 104 uM, so under these loads it causes an appreciable effect.

    This leads us to the natural conclusion to solve this issue - the gears must be held tighter to increase the contact area and decrease stripping. To do this, we're starting to design a gear holder, which will be detailed soon.

    Gearkeepers

    29 Jan 2019

    Gearkeepers By Jose and Evan

    Task: Create and install gearkeepers to reduce slippage

    We need to install gearkeepers on the Superman arm to prevent gear skippage which damages gears over time. We designed a simple rectangle in PTC Creo and cut holes to fit bearings, 3D-printed them, and attached them.

    Now it was time to test for gear skippage. Unfortunately, we had one or two gear skips with every attempt of rotating the wheel mount. We tried using string to see if tensioning the gear holders would work but that also failed.

    We went back to the drawing board and checked for a sizing error. To calculate this we take the module of the gear and multiply it by the amount of teeth the gear has, then dividing by two to get the gear's radius. We do this for both gears and add them together. The module of the REV plastic gears is 0.75. This resulted to be (15×0.75/2)+(125×0.75/2) or 52.5 mm. And the original gear holders were 53 mm long, a slight error but at least we found the reason for error. We also noticed that there was some give in the plastic inserts for the REV bearings so we decided to tighten it down to 52mm.

    We changed the length of the inside of the gear holders from 53mm to 52mm and 3D printed them. This resulted in a complete fit where the gears were firmly engaged.

    Next Steps

    This is good for now but in the future, we need to watch the nylon of the gearkeepers for wear and tear as well as stretching - even a millimeter will allow the gears to slip.

    Intake Omnis

    29 Jan 2019

    Intake Omnis By Ben

    Task: Add omnidirectional wheels to intake arm

    We need to add omniwheels to the intake arm to allow the arm to rest on the ground, while still maintaining the necessary height for collecting the minerals. If the height is too low, the minerals wouldn't be able to move through the intake. If the intake was too high, it wouldn't be able to grip onto the minerals and pull them through. We decided to use omnidirectional wheels as they would allow us to drive forward and backwards with the arm extended.Our first challenge was finding space on the intake arm to attach the wheels. We had a few options:

    • Attach the wheels parallel to the arm
    • To do this, we would have to have a "u" shaped component, which we could mount off of a threaded extrusion, then attach that to the servo mount.
    • Mount the wheel perpendicular to the arm
    • This would give the same degree of maneuverability. To attach this, we would have to use an elbow bracket and attach that to an extrusion at a 90° angle.
    Both of these present a similar challenge, leaving enough room for the intake to function properly. With about 2.5in. to work with, we mounted the wheel perpendicular with a 1.75 in. extrusion. We threaded the extrusion and used an elbow bracket to mount the wheel; this ensures the strength of the wheel. This left about 0.5in. between the wheel and the "corn on the cob" intake.

    Image of wheel attached to intake arm

    Next Steps

    Our next steps are to perform testing on the wheels to determine if they are durable and low enough, and improve the performance of the robot. One issue that may arise is rubbing against the gears, as they may shift over prolonged usage, along with twisting of the extrusion.

    Mechanical Depositing

    01 Feb 2019

    Mechanical Depositing By Evan

    Task: Create a mechanical deposit for our selective deposit

    To relieve driver stress, we decided to put a mechanical release mechanism that would drop the minerals into the passive sorter to then further deposit them. The lever that activated the release mechanism was made of thick wire attached to a small gearbox that reversed the direction of rotation for the release gate. The lever activated the gearbox when it was pushed into the side of the lander. This created some issues that ultimately killed the mechanical release, such as a balance of tension that would never work out. We had to balance the tension of the rubber bands with the weight of the minerals while also accounting for the fact that the lever had to be pushed without our entire passive sorter being pushed beyond 180 degrees up and down.

    Because of the difficulty in implementing this, we instead switched over to a servo which now powers the release gate. While short-lived, it was a good test of the limits of our intake system, and we will be improving on it in the coming days.

    Next Steps

    We need to attach a servo to the intake with a correct mounting position to allow at-will depositing. We plan to do this with a inward-mounted servo which will then be connected to the REV hub through a wire protector, allowing us to place a servo high on the robot without worrying about the wires getting stuck in the gears and cut like before.

    STEM Expo Preparation

    01 Feb 2019

    STEM Expo Preparation By Bhanaviya and Benb

    Task: Plan for the DISD STEM Expo

    Tomorrow, Iron Reign along with members from the other 3 teams, is participating in the DISD STEM Expo for our third year. As we have done for the past 2 years, we are bringing the Mobile Learning Experience Lab to the event area in Kay Bailey Hutchinson Center. The purpose of this event is to connect with children in the DISD Area by helping them a foster an appreciation for engineering and the sciences. With the support of the Dallas City of Learning, a non-profit organization operated by Big Thought which helps schedule The Mobile Learning Experience, Iron Reign will have a featured exhibit within the MXP. To maximize event productivity, we will be working alongside volunteers from Microsoft and Best Buy who will help us ensure that the exhibit runs smoothly.

    As part of the exhibit, we will have events similar to those hosted as part of STEM Spark! This includes the LEGO Mindstorm Sumo Robots Event as well as our 3D Printing Keychains activity.

    At the end of the day, modeling and coding are two of the many aspects encompassed in STEM, and more importantly, FIRST. In introducing these activities, we hope to promote a student initiative in FIRST Robotics. And who knows - tomorrow, we might just meet the future members of Iron Reign.

    Latch V.3.5 Assembly

    01 Feb 2019

    Latch V.3.5 Assembly By Ben

    Task: Assemble the V.3.5 latch and attach to the robot

    We assembled the fourth version of the latch today. Some of the improvements on this latch include using bigger bearings and thrust bearings inside. This latch is designed to be stronger and more reliable. After cleaning the parts and trimming some edges, we assembled the pieces. Upon assembly, we discovered an issue: the gears required a different amount of pressure to catch the lock. If left untreated, it could result in the robot falling off the hook. We determined the root of this problem was that the locking mechanism on the right gear was shorter than the left. To fix this, we trimmed a few millimeters off the piece that provides tension on the left gear to match that of the right gear.

    Latch attached to polycarbonate brackets.

    Next Steps

    We will need to perform various tests on the latch to determine if the height is correct, if the latch can support the robot, ease of latching and unlatching, and consistency. We plan to test our robot this Saturday at the DISD STEM Expo, which will provide an opportunity to practice latching.

    Fixing Mineral Dropper Components

    02 Feb 2019

    Fixing Mineral Dropper Components By Jose and Evan

    Task: Fix any issues with the mineral dropper

    At the STEM expo we saw a clear issue with the mineral dropper: it is very poorly geared and doesn't deposit minerals well. A quick look at the gear configuration revealed that the gears were attached in a poor manner such that there was a lot of gear skippage. To remedy this, we attached a gear-box to the dropper to keep the gears interlocked.

    The way the mineral dropper works is by having a wire attached to the shaft that turns the release be pushed when the robot hits the lander. The wire is attached with a portion of a gear custom cut for the job.

    We need to upgrade to a thicker wire for more reliable shaft rotations. After doing so we needed a different wire holder and we chose a REV wheel. After cutting it and drilling bigger holes to accommodate the new wire we needed to attach it all to the shaft for the mineral release.

    Next Steps

    We need to finish bending the wire and test its ability to open the mineral release when contacting the lander.

    Meeting Log

    02 Feb 2019

    Meeting Log February 02, 2019 By Charlotte, Kenna, Ethan, Bhanaviya, Jose, Ben, Evan, and Janavi

    Meeting Log February 02, 2019

    Bhanaviya working on the blog

    Today's Meet Objectives

    The DISD STEM Expo took place today. While incredibly rewarding, the experience was tiring, so only a few members made it back for the meeting that took place afterwards. This log will include our objectives and accomplishments from the meetings we held throughout the week after school which include build changes to the depositor, some calculations for analysis various parts of the robot, and preparation for our pit setup at regionals.

    Today's Meet Log

    • Design posters
    • To display this year's accomplishments, we plan to create posters for the pit. The research poster will include a few projects we have done this year including our friction tests, materials test, and torque/gear ratios calculations as well as calculations for the elbow, wheels, and other vital parts on our robot. We will also have outreach posters and a timeline of our robot design. Janavi has been designing these posters based on the journal entries we have made about the tests.

      Ethan and the research poster
    • Design passively-sorting deposit
    • Evan has been working on a mechanical depositor for minerals in the lander. We want to utilize a mechanical part to remove burden from the driver, who also has to worry about alignment with the lander as well as control of the arm. This also removes burden from our coders, who have many goals to accomplish before we will be ready for regionals. Once the initial depositor was built, we did some tests during the STEM Expo, as we had a field set up outside the MXP to show off our robots to all of the kids coming through the booth. The depositor, unfortunately, did not perform very well. The biggest problem stemmed from the elastics that enabled it to be entirely mechanical. If the elastics are too tight, it would not bend enough to let the minerals fall out of the little trap door. If the elastics are too loose, the trap door won't be sturdy enough to hold the minerals in before depositing. We are looking for other options now, and we are most likely going to opt for replacing the elastics with a driver-controlled servo. This will put more of a burden on the drivers unless the coders find the time to program sensors for depositing. Either way, we need more driving practice which we hope to accomplish in the next two weeks before regionals.

    Today's Work Log

    Team MembersTaskStart TimeDuration
    CharlotteTask4:004
    KennaTask4:004
    EthanTask4:004
    BhanaviyaTask4:004
    BenTask4:004
    JoseTask4:004
    EvanTask4:004
    JanaviTask4:004

    DISD STEM Expo

    02 Feb 2019

    DISD STEM Expo By Bhanaviya, Ethan, Charlotte, Janavi, Evan, Abhi, Arjun, Kenna, Justin, Karina, Ben B, and Jose

    Task: Present at the DISD STEM Expo

    DISD STEM Expo has been our busiest event this year. Overall, we met with over 1000 participants for both the 3D Printing event and the Sumo-Robots station. Despite the fact that this was a first-time event for many of the members helping out, STEM Expo ran smoothly. The purpose of this event is to spread STEM programs to students in the Dallas area who otherwise would have no access.

    We started out by setting up the MXP and the EV3 robots. After ensuring that the MXP was stocked up with laptops and 3D printers, we set up sumo mats, laptops and LEGO Mindstorm Robots in tables outside the vehicle. All the freshmen were given a quick crash-course on how to run the Sumo-Robots session, while the seniors ensured that all of the FTC robots were demo-ready.

    Since the participants were of varying ages, one of our biggest challenges was trying to convey the message of actually coding the robot across a variety of audiences. We learned earlier on that the best way to teach younger audiences how to code the robots was by letting them test out each block of code, so that they could get a sense of what they were trying to accomplish.

    We also had a few connect opportunities. Best Buy (Geek Squad) representatives boarded the RV to ask about our program. Our MXP is funded by Best Buy - we received a $10k grant from them earlier this season - and this was a great opportunity to talk to them again. We spoke about the history of the MXP program, what it currently does, and our plans to create a new MXP with the $150k in funding that BigThought received as well as our need for an additional $100k. Also present at the STEM Expo were several Microsoft employees. We've worked at Microsoft events before, most notably YouthSpark, and they've contributed to the MXP program, so we talked to them again over the same topics, trying to garner up support for the new MXP.

    Next Steps

    Our booth could not have operated as smooth as it did without BigThought, for helping us staff and maintain the MXP, and DISD for giving us the opportunity to introduce FIRST to such a large audience. As hectic as it was trying to teach block programming and 3D modeling to students with little to no technical experience, the event ran much more systematically than we could have expected. It was energizing to see children excitedly “battle” their robots, and to see them walk away, waving a 3D-printed keychain. We are incredibly thankful for having been able to interact with the next generation of engineers, and giving them a platform to see robotics as a comprehensible concept.

    Code Updates

    02 Feb 2019

    Code Updates By Abhi

    Task: DISD STEM EXPO

    The picture above is a representation of our work today. After making sure all the manual drive controls were working, Karina found the positions she preferred for intake, deposit, and latch. Taking these encoder values from telemetry, we created new methods for the robot to run to those positions. As a result, the robot was very functional. We could latch onto the lander in 10 seconds (a much faster endgame than we had ever done).

    Next Steps

    The code is still a little messy so we will have to do further testing before any competition.

    Drive Testing at STEM Expo

    02 Feb 2019

    Drive Testing at STEM Expo By Ben and Abhi

    Task: Test robot performance at the STEM Expo to inspire younger kids and practice

    An FLL team gathered around Iron Reign’s robot

    We had the privilege of being a vendor and representing SEM at DISD's STEM Expo this weekend. Thousands of people cycled throughout our area during the day, so we had the opportunity to show off our robot to many people. Some of these people include FLL and VEX IQ teams, along with Best Buy volunteers. Our goal was to get kids excited about STEM and robotics, along with getting some robot practice in. We will be trying out the new latch, new presets, and prospective drivers.

    As soon as we started driving, we noticed a few issues. One of these being the belt drive repeatedly slipping. This may be a result of the belt loosening, the drive gear accelerating too quickly, heavy intake arm, or the preset causes the drive gear to keep operating, even when the arm is fully extended. We also struggled with keeping the intake box out of the way and prevent it from twisting around the “corn on the cob” intake. We will solve this by fastening the rubber band that was supposed to keep it in place. This; however, wasn’t our only intake problem. Once 2 minerals had been grabbed, they would usually fall out the intake box after lifting the arm. The intake box would turn vertical, making it easier for the minerals to shift out. This was especially an issue when trying to deposit the minerals, we would make several sudden movements, causing the arm to swing and minerals to fall out. A possible solution to this is adding a barrier between the floor of the intake box and the top of the box. This would allow for more freedom, as we could move faster without worry of losing minerals.

    Demonstrating intake arm for FLL kids

    Next Steps

    It will take a lot more practice to master latching and collecting, and even general driving. We will need to code better presets and either design a better collection box, or fix the existing one. Drivers will also have to be selected, which we will do by running several trials for each member and determining who is best at latching, scoring, and control.

    Latch 2.0 - Forged in Flame

    06 Feb 2019

    Latch 2.0 - Forged in Flame By Evan

    Task: Design a new latch for hanging

    Our latching system is too complicated to use quickly; it requires too much reliance on driver control and becomes jammed. So, we forged an iron hook to replace it. We started by taking an 8mm iron rod and placing it into the forge that we have, heating it up and bending it into shape over the course of an hour. We made a wire model for the hook, and then slowly and patiently formed the hook out of the rod. Then, to make an easy-to-drill connection point, we heated a section up until it was white hot and then used a punch to create a flat part that we then drilled into afterward.

    To create a mount, we took a length of steel and used an oxy-acetylene torch to heat up the areas we wanted to bend. Once this was done, we went about attaching the hook to the mount. We did this by finding the center of the mount, drilling it out, and pushing a bolt through it, surrounding all sides with washers. We then mounted a servo next to the hook and attached it with a piece of wire, which was secured to the hook by two notches cut out of either side of the tail of the hook. Later, after finding the wire to be too flimsy, we attached the two together with a strip of polycarb. It works well, allowing us to mount and dismount much easier than we would have hoped for with our last latch. While the last latch was purely passive and required no electrical components, this one gives us much more control in how we latch and delatch.

    Meeting Log

    09 Feb 2019

    Meeting Log By Charlotte, Evan, Ethan, Kenna, Karina, Abhi, Arjun, Ben, Jose, Janavi, and Bhanaviya
    Meeting Log February 09, 2019

    Today's Meet Objectives

    Today we participated at a scrimmage held at Woodrow Wilson High School. This was a fantastic opportunity to get some driver practice in real, timed games and adjust for issues.

    Today's Meet Log

    • Hook implementation
    • Since we have made a few changes to the robot, such as adding a servo to our previously mechanical output mechanism, we evaluated how well they worked. We wired the servo and fixed the wiring from the arm that got tangled in the motor using a wire router to take control of this issue. As well, we began auto tuning for the new hook.

      Fire from the forge from crafting the hook

      The burning metal being bent into our hook
    • Driver practice
    • When we weren't making changes on the robot, we were practicing driving. Some difficulties we faced included getting stuck in the crater because of our arm and the disconnection of our hook from the servo horn due to our attachment with zipties. When we got back to the house, we began changes to fix these issues by creating a replacement for the zipties out of polycarb and working on presets to improve the balance of the robot.

    Woodrow Wilson Scrimmage

    09 Feb 2019

    Woodrow Wilson Scrimmage By Bhanaviya, Charlotte, Janavi, Kenna, Karina, Evan, Abhi, Jose, Ben B, and Arjun

    Task: Compete at the Woodrow Wilson Scrimmage with Woodrow teams

    This past Saturday, Iron Reign competed in the Woodrow Wilson Scrimmage. To ensure that the wiring did not become tangled when the robot moved around, we added an ABS cable-carrier to the arm of the robot.

    Overall, Iron Reign was able to establish a semi-stable deposit scoring game-plan in the match. Since we haven’t focused on practicing game play in a while, this scrimmage gave us an opportunity to pin-point build and code issues, as well as get a clearer idea of what our strategy for regionals needed to look like.

    Next Steps

    We are incredibly thankful for Woodrow Wilson and their teams for hosting us, as well running such an effective scrimmage. The opportunity to connect with other teams in our region has given a clearer idea of what we can learn from the teams around us to improve our overall team presence.

    Autonomous Non-Blocking State Machines

    09 Feb 2019

    Autonomous Non-Blocking State Machines By Arjun

    Task: Design a state machine class to make autonomous easier

    In the past our autonomous routines were tedious and difficult to change. Adding one step to the beginning of an autonomous would require changing the indexes of every single step afterwards, which could take a long time depending on the size of the routine. In addition, simple typos could go undetected, and cause lots of problems. Finally, there was so much repetitive code, making our routines over 400 lines long.

    In order to remedy this, we decided to create a state machine class that takes care of the repetitive parts of our autonomous code. We created a StateMachine class, which allows us to build autonomous routines as sequences of "states", or individual steps. This new state machine system makes autonomous routines much easier to code and tune, as well as removing the possibility for small bugs. We also were able to shorten our code by converting it to the new system, reducing each routine from over 400 lines to approximately 30 lines.

    Internally, StateMachine uses instances of the functional interface State (or some of its subclasses, SingleState for states that only need to be run once, TimedState, for states that are run on a timer, or MineralState, for states that do different things depending on the sampling order). Using a functional interface lets us use lambdas, which further reduce the length of our code. When it is executed, the state machine takes the current state and runs it. If the state is finished, the current state index (stored in a class called Stage) is incremented, and a state switch action is run, which stops all motors.

    Here is an autonomous routine which has been converted to the new system:

    private StateMachine auto_depotSample = getStateMachine(autoStage)
                .addNestedStateMachine(auto_setup) //common states to all autonomous
                .addMineralState(mineralStateProvider, //turn to mineral, depending on mineral
                        () -> robot.rotateIMU(39, TURN_TIME), //turn left
                        () -> true, //don't turn if mineral is in the middle
                        () -> robot.rotateIMU(321, TURN_TIME)) //turn right
                .addMineralState(mineralStateProvider, //move to mineral
                        () -> robot.driveForward(true, .604, DRIVE_POWER), //move more on the sides
                        () -> robot.driveForward(true, .47, DRIVE_POWER), //move less in the middle
                        () -> robot.driveForward(true, .604, DRIVE_POWER))
                .addMineralState(mineralStateProvider, //turn to depot
                        () -> robot.rotateIMU(345, TURN_TIME),
                        () -> true,
                        () -> robot.rotateIMU(15, TURN_TIME))
                .addMineralState(mineralStateProvider, //move to depot
                        () -> robot.driveForward(true, .880, DRIVE_POWER),
                        () -> robot.driveForward(true, .762, DRIVE_POWER),
                        () -> robot.driveForward(true, .890, DRIVE_POWER))
                .addTimedState(4, //turn on intake for 4 seconds
                        () -> robot.collector.eject(),
                        () -> robot.collector.stopIntake())
                .build();
    

    Bigwheel Model

    10 Feb 2019

    Bigwheel Model By Justin

    Task: Design and update the Bigwheel Model

    We are updating our bigwheel model to represent our current robot. We had a model of just the chassis from the chassis study, so we are currently adding all of the changes we made throughout the season.

    Completed Changes

  • Added current intake
  • Added sorting system
  • Modeled the linear slide lift
  • Modeled superman arm
  • Future Changes

    The lift has been changed recently so the model needs to be updated. The main problem with this is that the new slides are not standard parts, so there are no accurate CAD files. This means we have to custom model our new slides to maintain accuracy with our model. The motor placement on the chassis needs to be fixed because we the measurements were estimates. There are many small 3d printed parts that need to be added to the robot, as well as our new ratchet latch.

    Next Steps

    We need to work on future changes and get our model up to date with our robot so we can start conceptualizing new subsystems.

    BigWheel Upgrades

    10 Feb 2019

    BigWheel Upgrades By Evan

    Task: Fix some issues on BigWheel before the build freeze

    We made more secure way of activating our hook, so we switched our piece of wire attaching the servo to the hook with a much stronger and less likely to bend strip of polycarb, which greatly improved the reliability of the hook.

    As well, we limited the back and forth motion of our slides at their attaching points. I achieved this by inserting a small piece of drywall sandpaper in between the stages of the slides. Hopefully, the added friction will create a stronger hold between the stages fo the slide.

    Next, we ground down a bolt to more securely attach the servo horn to the servo since it’s a REV hex shaft to servo adapter and the bolts we had didn’t fit inside well enough. Once that was done, we changed the ratio between the belt drive pulleys, going from a 1:1 (36 teeth to 36 teeth) to a 5:3 (60 teeth to 36 teeth) by increasing the size of the pulley at the motor. This should increase the quickness of our lift and hopefully let us squeeze a few more mineral pick up and depositing cycles in.

    Next Steps

    It's time to turn the robot over to the coders and drivers, so there won't be many changes after this,

    Pulley Spacers

    13 Feb 2019

    Pulley Spacers By Ethan

    Task: Design and implement pulley spacers to prevent belt interference

    We had an issue where the belts that allowed our arm to slide upward were misaligned, resulting in the belts frequently slipping. We narrowed the slippage down to a single point, at this pulley.

    We had to create a new spacer to keep that section of the belt inline with the rest. As usual, we took measurements and replicated them in Creo. It had to be about 3.5 centimeters long, the same width of the metal plate. The depth of the indentation to attach to the linear slide is about 0.75 centimeters and the diameter of the M3 holes 3 millimeters. With these measurements, we designed the piece and printed it in 60% infill nylon, strong enough to withstand the weight of the linear slides. This is what version one looks like:

    However, this version's holes were too far down, allowing the toothed sections of the belts to interact and jam. So, we decreased the height of the bottom pulley-holes so that the middle section of the belt would slider higher up, preventing interference. This resulted in the final version seen at the top of the article.

    Next Steps

    We still have to fully test these spacers, but we can't do a full test until we fix the gears supporting the elbows, which will be detailed in another post.

    Control Mapping

    14 Feb 2019

    Control Mapping By Bhanaviya, Abhi, Ben, and Karina

    Task: Map and test controls

    With regionals being a week away, the robot needs to be in drive testing phase. So, we started out by mapping out controls as depicted above.

    Upon testing the controls, we realized that when the robot went into Superman-mode, it collapsed due to the lopsided structure of the base since the presets were not as accurate as they could be. The robot had trouble trying to find the right position when attempting to deposit and intake minerals.

    After we found a preset for the intake mechanism, we had to test it out to ensure that the arm extended far enough to sample. Our second task was ensuring that the robot could go into superman while still moving forward. To do this, we had to find the position which allowed the smaller wheel at the base of the robot to move forward while the robot was in motion.

    Next Steps

    We plan to revisit the robot's balancing issue in the next meet and find the accurate presets to fix the problem.

    Robot Issues - Gear Grinding

    14 Feb 2019

    Robot Issues - Gear Grinding By Ethan

    Task: Analyze the issues with the elbow arm of our robot

    The elbow arm of the robot is what allows us to rotate the arm of our robot - the linear slides what hold the intake. Recently, while doing some drive testing, we found that the elbow wasn't acting as it should. When we took a closer look at it, we realized that the metal gears had started to destroy each other.

    Before installing new gears and just having the same thing happen again, we wanted to analyze why this was happening. Remembering that pressure is equal to force divided by area, we noticed that the gears weren't fully interlocking, reducing the area for force to act on. And, the teeth of these gears are minuscule things, so the pressure on each one is immense, even more so with the full torque of the extended linear slide behind them. And, while these aluminum gears may not bend that well, under these immense pressures, they sure can break since hardness and brittleness trade off. And, even then, with high pressure and frequent use, they can still easily grind down, resulting in this scene:

    But, that's not all. When we tried to run the elbow, we realized that the motor shaft themselves were out of alignment. This is hard to capture in a single picture, but this manifested itself as a sort of wobble when the motor was repeatedly run. With full, non-ground gears, this would probably be fine, but the moving shaft reduced the area of interaction between gears, contributing to the gear-dust all over our robot. Finally, as the gears were reduced to almost nothing, this wobble made it so the gears wouldn't interact at all.

    The solution to this is complicated, as we only have one set of spare gears. If we had more, we would be able to replace them as needed, but currently, we couldn't guarantee that they wouldn't give out at regionals. First, we need to replace the motors, as any wobbliness reduces the area of interaction between gears, which increases the pressure on the teeth accordingly. Then, we need to create gearkeepers to hold the gears to maximum contact. We've created gearkeepers before under the same circumstances for the arm that lifts our robot up (we had a similar gear-stripping scenario), but this may not be enough alone. First, we use metal gears on the elbow, which have smaller teeth area-wise than the plastic ones elsewhere. Plus, the gearkeeper design below doesn't compensate for any later wobbliness that may occur and may wear out itself, as its essentially a nylon strap between two shafts. So, we need to design a gearkeeper that doesn't only attach from shaft to shaft but shaft-shaft-robot, as this would prevent the pesky wobbliness and decrease tooth pressure as much as possible.

    Next Steps

    We've forwarded this analysis to the modeling team, who will produce a print later this week so that we can bring our robot back up to snuff.

    Research Poster

    15 Feb 2019

    Research Poster By Janavi and Ethan

    Task:Create a Poster amalgamating all of our math

    Throughout this season our team has completed various calculations from the torque of our robotics arm, to the speed of the wheels. Since these calculations are spread throughout our journal, we decided to amalgamate them into a single poster that is easy for us to refer to. In this poster we have calculations for

    • Torque/ Gear Ratios
      • Intake Arm Torque
        • (Robot Manual)
      • Wheel Gear Ratios and Speed Calculations
        • (E-132, Intake Speed )
        • (E-52, Linear Slide Lift)
      • Elbow Torque and Gear Ratios
        • (Robot Manual)
      • Superman Torque and Gear Ratios
        • (E-95,Superman Calculations)
      • Superman Gear Material Calculations
        • (E-95,Superman Calculations)
    • Friction Tests
      • (E-59,Friction Coefficient and Energy)
      • Coefficient of Friction of Silicone Intake
        • (E-59,Friction Coefficient and Energy)
    • Material Testing
      • Linear Deformities with Nylon
        • (E-62,Linear Nylon Strength Test)
      • Linear Deformities with ABS
      • Linear Deformities with PLA

    Elbow Rebuild

    16 Feb 2019

    Elbow Rebuild By Ethan, Jose, Karina, and Ben

    Task: Rebuild the elbow after total gear annihilation

    In a previous post, we detailed the extent to which we had stripped our gears - they were missing teeth in several places and the black anodization layer had completely stripped away. So, we had to replace them. The first order of action was to design gearkeepers for them. We've designed gearkeepers before, for the Superman arm, but these have different requirements. They must connect the gears on both elbow driver and slave, but also must mount to the robot itself to prevent the motor shaft from wobbling, which had previously caused major issues. We came up with this design, printing it out in 60% infill nylon.

    The next thing to do was replace the actual gears. To do so, we had to dismantle the entire elbow and replace the gears and shaft collars. This alone took about two hours per side. We added the new gears, ensuring that they were in alignment, and printed a circular part to mount the top of the gears to the linear slide so that the entire system would rotate when the gears were turned. Then, we remounted the belts and aligned them. After, we attached the new gearkeepers, ensuring that the gears interlocked perfectly.

    Next Steps

    So far, we haven't experienced issues with the new elbow, but we're getting our hands on a new set of gears to be safe. We expect this system to continue to work for the Regional tournament, and are performing drive practice to ensure this.

    Meeting Log

    16 Feb 2019

    Meeting Log February 16, 2019 By Ethan, Janavi, Kenna, Justin, Bhanaviya, Ben, Abhi, and Arjun

    Meeting Log February 16, 2019

    So, its the last week before Regionals, so we have a lot of work to do, from robot work to presentation.

  • Linear slide arm repairs
  • We started off the day with working on the elbow for the arm. For the past week, we've been dealing with the gears on the elbow stripping. So, we replaced the gears on both sides, threadlocked the motors so that the shafts wouldn't wobble, and installed upgraded triangular gearkeepers so that that that that the gears would fully interlock, preventing the gears stripping. This process took about 90 minutes per side, taking up time we needed for autonomous. But, our build freeze has persisted - we haven't added anything else. In the same vein, Justin worked on the 3D model, integrating the corncob into the design.

  • Blog updates
  • We're also trying to finalize our journal, so we're finishing up posts. Janavi was working on a post about the research poster; Arjun was working on computer vision posts; Abhi was updating code posts. Ethan was going through and retagging posts so that the table of contents is accurate, fixing the posters we're printing, and updating presentation photos. Janavi and Kenna were also working on the handouts for Regionals.

  • Driver practice
  • Since Karina isn't here, we're letting Ben practice driving. We're consistently getting 2-3 cycles in the lander with him as opposed to Karina's 4-5, but practice will help. He's not all there yet, he crashed the robot somehow, but its a start. We're also working on autonomous delatch and tuning as he drives using telemetry data.

    Today's Work Log

    Team MembersTaskStart TimeDuration
    AllPlanning Meeting2:10pm.25
    EthanEdit blog posts and update posters2:004
    EthanFix robot gears12:002
    Justin3D Model2:004
    BhanaviyaComputer Setup2:001
    KennaDesign handouts2:004
    JanaviBlog posts2:004
    BenReplace gears2:004
    AbhiRobot tuning2:004
    ArjunControl Award2:004

    Latch Designs - A Retrospective

    19 Feb 2019

    Latch Designs - A Retrospective By Ethan

    Task: Analyze past successes and failures in our latching system

    Version 1

    The first version of the latch worked decently. We started out with the idea of a one-way, passive latch. This idea involved mounting smaller bearings and gears between them, with a spring-like nylon piece that moved only when downward pressure was placed upon the gears. This design was only fully realized before the Wylie Qualifying tournament, and only tested the night before. We found that the bearings popped out under pressure necessitating a reset after every match and meaning that we could only latch once per match. We opted for the endgame latch, as it was more reliable. But, this cut the amount of points we could receive immensely. After the tournament, we decided to do a full redesign.

    Version 2

    The second version's changes were simple. We redesigned the nylon "spring" and made it thicker and more prominent. This made it so the latching gears were more firm than before, which in turn allowed more weight to be put on them. However, the issue with the gears was still present; as the load on the latch increased, the nylon would bend more and more, allowing the bearings to fall out so that the latch would jam in place. This version was quickly scrapped.

    Version 3

    At this point, we were sick of the bearings popping out. So, we widened the holes immensely to fit larger bearings which in turn had larger holes allowing for bolts to be run through. This was overkill, but it ensured that no slippage would occur during normal robot usage. Again, we also thickened the nylon "springs" so that the gears would stay in place without significant upward force.

    We realized, that while technically impressive, the latch as we knew it had to go. It worked, but it was too time-costly to justify using, as the driver had to precisely line up the bot next to the lander to use it, taking about 20 seconds. In addition, it was difficult to code as it required several intricate simultaneous robot operations: the lift needed to descend at the exact same moment Superman needed to rotate, all while the elbow rotated the robot 90 degrees. In summary, it was an overly burdensome task. So, we threw away all that work, these past two months of labor in favor of a simpler option.

    Version 4 - the Hook

    We decided that it was time to go back to the drawing board. In time periods, it was approximately a jump from the current era to the Iron Age. So, we designed appropriately. We designed a stainless steel hook, first making one out of prototyping wire. Then, we heated up the forge, adding plenty of coke, and set to work. We chose a stainless steel rod, 8mm in diameter and warmed it to red hot, beating out the initial design. We let the initial rod air cool so that it would be soft enough to drill through, creating the mounting point for the robot. Then, we reheated it to its critical point (when it loses its magnetic properties) and quickly quenched it to reharden it. But, simply quenching it makes the steel too brittle to use in competition, so we finished up the hook by tempering it, using an oxy-acetyline torch on it until the surface became matte. Finally, we had the hook seen above. After all that work, we'd gone with the simplest option because sometimes, it is the best.

    Off-Schedule Meeting Log - Week before Regionals

    19 Feb 2019

    Off-Schedule Meeting Log - Week before Regionals February 19, 2019 By Ethan, Evan, Jose, Charlotte, Karina, and Justin

    Meeting Log February 19, 2019

    It's the week before Regionals, so the house is a flurry of activity - all hands are on deck for every possible facet of the team.

    Monday

    The week started out with three projects. Justin worked on the robot model, taking measurements for the intake and putting the assembly together for six hours, completing the model. Just as he left, Ethan started the editorial review. The goal of the review was to develop a more cohesive journal, a journal that could easily be flipped through. The list of tasks created from this session are below. In addition to this, Ethan worked on making an LED hat for the tournament.

    Editorial Review Listing

    • Unbury $150k grant post, make title "major grant to fund replacement of vehicle" + fix receiving + remove last sentence
    • Add Ben, Jose headshots to organization slide
    • Replace townview qualifier photo
    • Add Microsoft section to stem expo post
    • Add motivate tag, remove connect from drive testing at stem expo
    • Remove all motivate from connect table of contents
    • Bold totals in the iron reign grants post
    • Fix pulley spacers image
    • Fix broken image last meetinglog
    • Remove connect posts from motivate table
    • Add to stem spark post
    • Post summary of motivate and connect 2x
    • Add letters to presentation tabs to indicate award
    • Change decisions to priorities in presentation
    • Remove center photo collector system in presentation
    • Delete slide 38 with wordcloud in presentation
    • Remove what we need help with slide
    • Make text bigger on Connect summary slide, add totals in title in red
    • Update journal summary
    • Make a latch retrospective post
    • Post about rebuilding elbow
    • Fix Woodrow Code blog post
    • Add articulation and drive enhancement posts
    • Make post about bearings in linear slide

    Tuesday

    • Battery Mount
    • Evan worked on a battery mount for the robot. While drive testing, we had found that the battery and camera would fall out under extreme conditions, so we decided to create a new one. Evan cut battery "corners" out of polycarb and mounted them together, ensuring that the battery would stay static in every match.
    • Editorial Review 2
    • Ethan wrote new posts on the history of the latch, the rebuilding of the elbow, connect and motivate summaries, and fixed the above issues from the editorial review. In addition, we rewrote the summary, as we found that it would be heavily considered in Regional judging. Charlotte uploaded old meeting logs.
    • Driver Practice
    • Karina, Justin, and Jose practiced driving the robot. We discovered that the robot latches extremely well with the new hook and that the autonomous delatch works. We also tested the articulation, or poses, of our robot. The only issue that popped up was when the robot moves into deposit mode, it tips toward the side with linear slides, but Karina discovered that if she drives the robot forward at the same time, she can ram the robot into the correct position. Karina got to 4-5 cycles per match with the new updates. This practice was a way to test the strength of our robt - we've had our robot break under stressful situations previously - and this time nothing broke. The biggest issue was that a servo wire on our intake came unplugged, but even with that, our robot still worked.
    • Model Articulation
    • Justin took the last measurements for the model of our robot, then started to take pictures of the articulations we made in the code.
    • Hat
    • We finished the light-up LED hat.

    Wednesday

    • Driver Practice and Autonomous
    • Karina and Abhi worked on the robot. Karina gave advice for improving our robot's articulations to Abhi, who proceeded to fix the code for better driver practice. Abhi also worked on delatch in autonomous, reversing the autonomous driver enhancement code and taking data from Karina's testing. We discovered one new issue with our robot, that the gearkeepers for Superman pop out of alignment after about 100 uses. All we need to do is realign them, and they'll be back to full functionality.
    • Control Award
    • Arjun continued writing the Control Award submission, adding in the new articulations and poses of the driver enhancements. Janavi created state diagrams for the code to add to the submission.

    Big Wheel Articulations

    20 Feb 2019

    Big Wheel Articulations By Abhi

    Task: Summary of all Big Wheel movements

    In our motion, our robot shifts multiple major subsystems (the elbow and Superman) that make it difficult to keep the robot from tipping. Therefore, through driver practice, we determined the 5 major deployment modes that would make it easier for the driver to transition from mode to mode. Each articulation is necessary to maintain the robot's center of gravity as its mode of operation shifts.

    The position seen above is called "safe drive". During normal match play, our drivers can go to this position to navigate the field quickly and with the arm out of the way.

    When the driver control period starts, we normally navigate to the crater then enter the intake position shown above. From this position, we can safely pick up minerals from the crater.

    From the intake position, the robot goes to safe drive to fix the weight balance then goes to the deposit position shown above. The arm can still extend upwards above the lander and our automatic sorter can place the minerals appropriately.

    During the end game, we enter a latchable position where our hook can easily slide into the latch. After hooked on, our robot can slightly lift itself off the ground to hook.

    At the beginning of the match, we can completely close the arm and superman to fit in sizing cube and latch on the lander.

    As you can see, there is a lot of articulations that need to work together during the course of the match. By putting this info in a state machine, we can easily toggle between articulations. Refer to our code snippets for more details.

    Next Steps

    At this point, we have 4 cycles in 1 minute 30 seconds. By adding some upgrades to the articulations using our new distance sensors, we hope to speed this up even more.

    Cart Hack

    20 Feb 2019

    Cart Hack By Arjun

    Task: Tweaking ftc_app to allow us to drive robots without a Driver Station phone

    As you already know, Iron Reign has a mechanized cart called Cartbot that we bring to competitions. We used the FTC control system to build it, so we could gain experience. However, this has one issue: we can only use one pair of Robot Controller and Driver Station phones at a competition, because of WiFi interference problems.

    To avoid this pitfall, we decided to tweak the ftc_app our team uses to allow us to plug in a controller directly into the Robot Controller. This cuts out the need for a Driver Station phone, which means that we can drive around Cartbot without worrying about breaking any rules.

    Another use for this tweak could be for testing, since with this new system we don't need a Driver Station when we are testing our tele-op.

    As of now this modification lives in a separate branch of our code, since we don't know how it may affect our match code. We hope to merge this later once we confirm it doesn't cause any issues.

    Up-to-Date Bigwheel Model

    21 Feb 2019

    Up-to-Date Bigwheel Model By Justin

    Task: Finish the Bigwheel model

    Updating the Bigwheel model to the robot’s current configuration was a challenge. The new linear slides are not standard parts, so we had to model them from scratch. There was some cleaning up that was needed on the drivetrain of the model. This was mainly attaching floating motors to motor mounts and axles to bearings. These were mainly cosmetic changes, but they help define the purpose of the different parts of the drivetrain. We also updated the intake assembly to our current ice cube tray intake. The structure of the intake was easy to model but the ice cube tray gave us some trouble with its unique shape and pattern. The ratchet latching system was a failure, so a new hook model was needed. The main issue with this was that we custom forged our new hook, so there was some difficulty in getting the model to accurately represent the capabilities of the hook. Another challenge was the mineral storage system. This is made from polycarb pieces and has many unique pieces, so arranging the pieces to accurately show the flow of minerals was difficult.

    In addition to updating the model, we also learned how to show the different movements of the robot with the model. Mechanical constraints were added to allow certain parts to slide or rotate. The one problem we had with this was that there were no limitations to how far something could slide or rotate, so many parts of the model would disconnect and be left floating. After some research, a solution was found. Zero points were created for each moving part and minimum and maximum movement limits were added. Some parts that now can move on the robot are the wheels, superman arm, hook, and linear slides. This allows us to not only show the movement of the robot, but also the limitations of its parts, which can help us visualize new solutions to our remaining problems.

    Next Steps

    Our next step is to wait for more build changes, so we can keep updating the model. Another addition we might make is making stress maps of the robot in different configurations to see where parts might fail. This has been an ongoing challenge of keeping the model accurate when the robot gets updated or rebuilt, and now we finally have a finished model and ready robot for regionals.

    How to connect gamepads directly to RC phone without a DS phone

    21 Feb 2019

    How to connect gamepads directly to RC phone without a DS phone By Arjun

    How to tweak ftc_app to allow you to drive robots without a Driver Station phone:

    A lot of teams have been asking about how we were able to tweak our code to allow us to drive robots without a Driver Station. We posted about this earlier in the post titled Cart Hack, but now we are going to show you how to do this.

    First, we have to add code to FtcRobotControllerActivity to allow it to handle any joystick events. We do this by adding the following lines to the bottom of the class (still above the last closing bracket).

    This lets us handle gamepad events in the activity. Then, we create the following class in the same folder as FtcRobotControllerActivity. This lets us access the RC phone's gamepad in our OpModes.

    Finally, in any of our OpModes where we wish to use the RC's gamepads, we add the following static import to the top of our code (under the other import statements).

    Now, wherever we want to use the RC phone's gamepad, we use gamepadRC wherever we would be using gamepad1 normally.

    In order to actually connect a gamepad to the RC phone, along with the REV Hub (or Modern Robotics equivalent), we need to use a USB hub. You connect the USB hub into the OTG cable (which is then plugged into the phone), and plug both the gamepad and REV hub into the USB hub. You do not need to use a powered hub for this, any regular USB hub will work. This is the same type of USB hub that you would use if you wanted to plug two gamepads into the driver station.

    That's all! We hope that this guide will help you replicate what we have done with our Robot Controller app to help make robot development easier!

    Wylie Regionals 2019

    23 Feb 2019

    Wylie Regionals 2019 By Ethan, Charlotte, Evan, Kenna, Karina, Abhi, Arjun, Bhanaviya, Ben, Justin, Jose, and Janavi

    Task: Compete at the North Texas Regional Tournament

    Preparation

    Unlike other tournaments, we started packing before morning. We packed as if we were going out of state, bringing a bandsaw, all-new charging box, every replacement part imaginable, and a printer which would ultimately come in handy later. We relied on a packing list created by Janavi, detailed below.

    Because of this, we got to Wylie on time, turned in our notebooks, had the team rosters printed out, and were able to start right away.

    Inspection

    Breaking our all-season streak, we failed our first inspection, cited for our unruly cable management. So, we made a hasty retreat back to the pits and zip-tied the cables together and rethreaded our intake servo wires through the cable guards, then brought it back to inspection. We passed, but we were warned about possible size issues with the team marker. But, looking at RG02, we realized that it wasn't a major concern.

    Judging

    The main issue this time was not speed or knowledge but simple enthusiasm - it just felt off and a little uncharismatic. However, we received three separate pit visits for what we believer were Motivate, Connect, and Innovate. In particular, we were able to get the Motivate judges out to see the MXP and talk about expanding the program while keeping it sustainable. The Innovate judges focused on the Superman mechanism, as it's fairly unique, and we fielded questions about the design process. In Connect, we also talked about the MXP and its $150k grant largely because of our efforts.

    Robot Game

    Match 1(Q3)
    For the first time in the Rover Ruckus season, we won a game. Both us and Corem Deo had almost perfect auto and Corem Deo got plenty of mineral cycles into the lander. Unfortunately, BigWheel tipped over during end game so we couldn't latch. However it did not affect the match results significantly.

    Match 2(Q9)
    Unfortunately, we lost. Both our autos failed in some way and BigWheel ended autonomous with one wheel in the crater, wasting us 30 seconds during teleop just to get out. Also, most of our mineral cycles failed and we couldn't latch during end game and had to partially park in the crater.

    Match 3(Q15)
    To our surprise, we won. We were against Elmer and Elsie, who were seeded 1st before this match. We had a perfect auto this match while the other side had some issues with their's. During teleop we had some pretty successful mineral cycles and both robots hung onto the lander with the other side only having one hang and one robot partially parked.

    Match 4(Q26)
    We didn't expect to pull a third win but we did. Our auto also failed a little again but it didn't cost us any time during teleop like last time. We also had some very successful mineral cycles this time, but when attempting to hang BigWheel tipped when going into its preset position for hanging, even so, it didn't affect match results.

    Match 5(Q33)
    Once again we didn't expect a fourth win, but it happened. Before this match we wanted to test our autonomous with the Lamar Vikings to check if the robots would collide during autonomous, but due to mechanical issues on their side this was delayed and we had to queue without doing so. Indeed, our robots collided in the depot causing us to miss out on 75 points. During teleop one robot on the other side disconnected but on our side two of our servos disconnected, the mineral gate and the hook, so we couldn't score minerals or latch so we played some minor defense and partially parked in the crater.

    Match 6(Q36)
    Our luck ran out in this match as we lost. This was a very tight match against TechicBots, the first seed. Both sides ended autonomous 150-150. The mineral game was also tight, the lead switched between both sides many times as minerals were scored but the other side took the lead once BigWheel tipped over. We couldn't hang once again and both our opponents kept scoring, leading to our loss.

    For the first time this season, we were selected for Semis as the first pick of the third alliance.

    Match 1
    We lost. Our autonomous failed as well as teleop while the other side continuously scored minerals into the lander. And yet again we couldn't hang due to tipping.

    Match 2
    We lost again. We began a timeout due to technical issues with the phones and ultimately had to give up and leave BigWheel to sit idle on the field for two minutes and thirty seconds while the Lamar Vikings attempted to win without us.

    Awards Ceremony

    By the time the ceremony started, most of us had been up for 13+ hours, so we were all a little under the weather. We first received the Motivate award! It's always nice to have your efforts recognized and this was no exception. The Motivate award means a lot to us - it's what we got last year at Worlds. Then, we heard, "3rd place Inspire Award goes to...team 6832 Iron Reign!" And the SEM section went wild. We advanced!

    Next Steps

    The post-mortem will be in a later post. See y'all at Worlds!

    SEM FTC Robotics advances to State and Worlds Championships

    24 Feb 2019

    SEM FTC Robotics advances to State and Worlds Championships By Ethan

    On Febuary 23, 2019, SEM Robotics sent three teams to the fifty two team North Texas Regional Championship, the largest showing of any school.


    Left to right: Jose Lomeli, Arjun Vikram, Abhijit Bhattaru, Ben Bruick, Bhanaviya Venkat, Evan Daane, Karina Lara, Charlotte Leakey, Jana Chadha, Kenna Tanaka, Justin Bonsell and Ethan Helfman

    Iron Reign, SEM's varsity team, won 1st place Motivate award and 3rd place Inspire, advancing them to both the State UIL and Worlds Championships in April. The Motivate award recognizes teams who demonstrate exceptional community service, and in this case, was for Iron Reign's continued expansion of the Mobile Learning Lab program. In addition, the Inspire award is given to teams who represent the spirit of the FIRST program: outstanding not only in robot game, but also engineering processes, connecting with professionals, innovative designs and supporting other teams.

    Individually, Karina Lara and Justin Bonsell were recognized as FIRST Dean's List Semi-Finalists. Named after FIRST Founder Dean Kamen, inventor of the Segway and the portable dialysis machine, Dean's List students are considered leaders in their community who exemplify the ideals of FIRST while achieving technical excellence. Karina Lara was then announced as one of four Dean's List Finalists who will go on the represent North Texas at the FTC World Championship.

    Imperial Robotics, our other veteran team, medaled when they made it to the final round of the Regional Championship through their exceptional robot performance, only losing by a thin margin in the last match. If another advancing team can't go to Worlds, Imperial will be the next team to advance.

    Members included: Trey Davis, Samuel Adler, Rohit Shankar, Christian Saldana, Hudson Shields and Blaine Wells (not shown)

    All-freshman team Iron Star performed with distinction. Not only did they earn a spot at the Regional Championship as a rookie team, they also demonstrated coolness under stress as they experienced persistent issues with robot disconnections. They never stopped trying to get the robot back online, stayed professional throughout the tournament and gained valuable experience that will help them elevate to veteran teams next year. Members included: Katelyn Cumplido, Shawn Halimman, Evan Branson, Paul Lea, Aaron Daane, Beau Aveton, Cooper Clem, Harish Jai Ganesh, and Benjamin Oommen.

    Our thanks go out to all of the people and sponsors who have supported us already this season, including but not limited to: Mr. Schelanko and Mr. Marx and the Dallas ISD STEM Department, Mr. Boykin our faculty sponsor, Mr. Palacios and SEM staff, Ms. Huitt, The Texas Workforce Commission, FIRST in Texas, DEKA, Patrick Michaud - our FIRST FTC Regional Affiliate, Fried Elliott - Regional Judge Advisor, and the Virani / Lux family.

    Meeting Log

    02 Mar 2019

    Meeting Log March 02, 2019 By Charlotte, Ethan, Evan, Justin, Karina, Janavi, Jose, Ben, Abhi, and Bhanaviya

    Meeting Log March 02, 2019

    Today's Meet Objectives

    Since we qualified for worlds, we are using today as an opportunity to start our Road to Worlds, as the discussions we have today will shape our progress for the next 8 weeks. We plan to start today with a post-mortem discussion regarding our previous competition, and then we will proceed to evaluate our strengths and shortcomings throughout the post-mortem. These lessons will shape our Road to Worlds document, a guide that outlines our major objectives within every subteam of Iron Reign.

    Today's Work Log

    • 15 minute cleaning/organization session
    • Planning session
    • Post-mortem
    • A post-mortem follows every major competition we attend, so that we can put into words and learn from our successes and failures in a constructive environment. We spent most of our meeting today reflecting on last week's regional competition with topics including robot performance, pit conduct, and preparation, and our detailed post-mortem can be found at (E-118, North Texas Regional Postmortem).
      Skype call with Jayesh
    • Presentation post-mortem
    • We discussed (on a Skype call) our presentation with one of our alumni, Jayesh, who gave us guidance and feedback based on a video we took of our presentation at regionals so that we can improve our presentation in the coming weeks.
    • Road to Worlds
    • Following our post-mortem discussion, we booted up our road to worlds doc and began our discussion as to how we will accomplish everything we need to in 8 weeks. Our Road to Worlds document will help increase focus and productivity so we don't lag behind in our progess. See our Road to Worlds at (E-119, Road to Worlds 2019).
    • Further planning
    • If we are going to accomplish what we set out to, it is going to require immense commitment and higher-level planning. We need to decide how we are going to spend spring break, and with a Doodle poll that indicates participation for the next two weeks, we can plan accordingly. We may not have many builders, so hopefully we can do drive practice.
    Team MembersTaskStart TimeDuration
    AllOrganization and Planning2:00pm.33
    AllPost-mortem & Road to Worlds2:20pm3.66

    North Texas Regional Postmortem

    02 Mar 2019

    North Texas Regional Postmortem By Ethan, Charlotte, Abhi, Janavi, Evan, Ben, Jose, Justin, Karina, Bhanaviya, and Arjun

    Task: Analyze what went wrong at North Texas Regionals

    We performed really well at Regionals; we actually won our first game of the season and ended 4-2 and were selected for an alliance. But, we still didn't do everything right. We were on the verge of not being chosen for Inspire, and we can't risk the same at Worlds.

    Problems:

    The Robot & Code

    • Auto & Setup
    • To begin, we had issues with preparing our robot, particularly that we didn't have enough practice setting it up for autonomous. As well, we didn't have a way to verify that the setup was correct.
    • Initial Code
    • We had high pings at the tournament, so we plan to reduce our telemetry to two lines. As well, our control scheme was too complicated, and we need to simplify it.
    • TeleOp
    • The robot kept tipping because of the complicated management of three systems. When in motion, angular momentum is conserved, making it hard to manage the robot and keep it upright. As well, we couldn't see the minerals in the intake.
    • Build
    • Again, we couldn't see the minerals in the intake. As well, the carbon fiber intake rod broke along with the battery and phone mount. These all necessitate redesigns. Finally, our wiring was out of hand.

    Pit Interviews

    • MXP was not set up for Motivate judges
    • Missed groups of judges looking for our robot several times
    • Didn't let judges leave when they wanted to - kept on talking

    Pre-tournament Preparation

    • Presentation
    • We hadn't practiced the robot demos; our IMU demo worked but the latch demo didn't. As well, we hadn't done a runthrough before handing out items from our presentation box. So, more thorough presentation practice is needed.
    • Engineering Journal
    • The team as a whole needs to focus on getting their blog posts in on time. It's hard to prepare the journal when not all posts needed for it are present. As well, we forgot to print the cover sheet for the control award.

    Pit Setup & Conduct

    • Ugly Pit
    • Our signs were disorganized and not easy to view, and our pit in general was a mess. We didn't have handouts, and our activities were off-topic.
    • MXP Setup
    • Even though the MXP is a centerpiece of our presentation, we left it wrecked after we unloaded all of our materials and making it too dirty for a tour.
    • Team Members
    • A few team members were not actively participating at the tournament, giving a bad impression for the judges.

    Road to Worlds Document

    02 Mar 2019

    Road to Worlds Document By Ethan, Charlotte, Evan, Karina, Janavi, Jose, Ben, Justin, Arjun, Abhi, and Bhanaviya

    Task: Consider what we need to do in the coming months

    ROAD TO WORLDS - What we need to do

     

    OVERALL:

    • New social media manager (Janavi/Ben) and photographer (Ethan, Paul, and Charlotte)

     

    ENGINEERING JOURNAL: - Charlotte, Ethan, & all freshmen

     

    • Big one - freshmen get to start doing a lot more

     

    • Engineering section revamp
      • Decide on major subsystems to focus on
        • Make summary pages and guides for judges to find relevant articles
      • Code section
        • Finalize state diagram
          • Label diagram to refer to the following print out of different parts of the code
        • Create plan to print out classes
        • Monthly summaries
      • Meeting Logs
        • Include meeting planning sessions at the beginning of every log
          • Start doing planning sessions!
        • Create monthly summaries
      • Biweekly Doodle Polls
        • record of supposed attendance rather than word of mouth
      • Design and format revamping
        • Start doing actual descriptions for blog commits
        • More bullet points to be more technical
        • Award highlights [Ethan][Done]

    Page numbers [Ethan][Done]

        • Awards on indexPrintable [Ethan][Done]
      • Irrelevant/distracting content
        • Packing list
        • Need a miscellaneous section
          • content
      • Details and dimensions
        • Could you build robot with our journal?
        • CAD models
        • More technical language, it is readable but not technical currently
    • Outreach
      • More about the impact and personal connections
      • What went wrong
      • Make content more concise and make it convey our message better



    ENGINEERING TEAM:

     

    • Making a new robot - All build team (Karina & Jose over spring break)

     

      • Need to organize motors (used, etc)
      • Test harness for motors (summer project)
    • Re-do wiring -Janavi and Abhi
    • Elbow joint needs to be redone (is at a slight angle) - Justin/Ben
      • 3D print as a prototype
        • Cut out of aluminum
      • Needs to be higher up and pushed forward
      • More serviceable
        • Can’t plug in servos
    • Sorter -Evan, Karina, and Justin
      • Sorter redesign
    • Intake -Evan, Karina, Abhi, Jose
      • Take video of performance to gauge how issues are happening and how we can fix
      • Subteam to tackle intake issues
    • Superman -Evan and Ben
      • Widen superman wheel
    • Lift
      • Transfer police (1:1 to 3:4)
      • Larger drive pulley
        • Mount motors differently to make room
    • Chassis -Karina and a freshman
      • Protection for LED strips
      • Battery mount
      • Phone mount
      • Camera mount
      • New 20:1 motors
      • Idler sprocket to take up slack in chain (caused by small sprocket driving large one)
    • CAD Model



    CODE TEAM: -Abhi and Arjun

    • add an autorecover function to our robot for when it tips over
      • it happened twice and we couldn’t recover fast enough to climb
    • something in the update loop to maintain balance
      • we were supposed to do this for regionals but we forgot to do it and we faced the consequences
    • fix IMU corrections such that we can align to field wall instead of me eyeballing a parallel position
    • use distance sensors to do wall following and crater detection
    • auto paths need to be expanded such that we can avoid alliance partners and have enough flexibility to pick and choose what path needs to be followed
      • In both auto paths, can facilitate double sampling
    • Tuning with PID (tuning constants)
    • Autonomous optimization



    DRIVE TEAM:

    • Driving Logs
      • everytime there is driving practice, a driver will fill out a log that records overall record time, record time for that day, number of cycles for each run, and other helpful stats to track the progress of driving practice
    • actual driving practice lol
    • Multiple drive teams

     

    COMPETITION PREP:

    • Pit setup
      • Clean up tent and make sure we have everything to put it together
      • Activities
        • Robotics related
      • Find nuts and bolts based on the online list
    • Helping other teams
    • Posters
    • Need a handout
    • Conduct in pits - need to be focused
    • MXP or no?
    • Spring break - who is here and what can we accomplish
    • Scouting

     

    Code Refactor

    08 Mar 2019

    Code Refactor By Abhi and Arjun

    Task: Code cleanup and season analysis

    At this point in the season, we have time to clean up our code before development for code. This is important to do now so that the code remains understandable as we make many changes for worlds.

    There aren't any new features that were added during these commits. In total, there were 12 files changed, 149 additions, and 253 deletions.

    Here is a brief graph of our commit history over the past season. As you can see, there was a spike during this code refactor.

    Here is a graph of additions and deletions over the course of the season. There was also another spike during this time as we made changes.

    Next Steps

    Hopefully this cleanup will help us on our journey to worlds.

    Issues with Driving

    08 Mar 2019

    Issues with Driving By Cooper, Jose, BenB, Bhanaviya, Karina, and Justin

    Task: Widen Superman's wheels and plan the new robot

    Since we just qualified, we have a lot to do. On the list for tonight, between the 6 of us, we have:

  • Teaching Cooper how to write a blog post
  • Work on the model of the new robot
  • Widen the superman wheel
  • Start the bill of materials'
  • Ben and Karina worked on widening the Superman wheels by adding 2 omniwheels on either side of a newly cut shaft. This will help stabilize the robot when moving into the extended position, along with preventing falls in the future. We hope this will make it easier to drive the robot and make it more reliable. As well, we began to make the Bill of Materials for the new robot.

    Bhanaviya trained Cooper how to write and upload a blog post. Justin worked on the model for the new robot.

    Next Steps

    Next, we will work building the worlds robot.

    Off-Schedule Meeting Log - Spring Break

    08 Mar 2019

    Off-Schedule Meeting Log - Spring Break March 08, 2019 By Charlotte, Cooper, Karina, Bhanaviya, BenO, Abhi, Janavi, Jose, Aaron, and Arjun

    Meeting Log March 08, 2019

    Friday
    • Widen Superman
    • Cooper and Ben O widened our Superman wheel from one omni wheel to two. This will improve our robots ability to turn and balance, as just one wheel would dig into the foam tiles due to a smaller surface area and make it more difficult for the robot to turn. Having two wheels increases this surface area, making driving easier.
    • Bill of Materials
    • Karina and Bhanaviya started a bill of materials, which lists each part of our robot and where they are from. The purpose of this bill is to make it easier for the builders to build our second robot as they can easily access the source of each part. See the bill of materials at (E-131, Bill of Materials).
    • Learning to blog
    • Cooper learned to use the blog, and because he worked on the journal on his old team, hopes to apply these skills extensively in the future.
      Tuesday
    • Reverse articulations
    • Abhi and Ben O worked on reverse articulations, which allows the robot to position itself in ways that makes mineral collection more efficient. See more on reverse articulations at (E-139, Reverse Articulations).
    • Drive practice
    • Karina got in some driver practice, which is going to be increasingly important as we get closer to UIL and Worlds.
      Wednesday
    • New VEX motors
    • Jose and Aaron opened up and started testing new VEX 393 motors. We are considering these motors because they are technically counted as servos and could help our intake perform more efficiently. See more at (E-124, VEX 393 Motor Testing).
    • Wiring
    • The freshmen got experience with soldering. They did some wire gender changes for our servo power injector.
    • Email Diversity Director
    • Janavi drafted an email to the diversity director at Worlds to get information about bringing the MXP to Worlds. We would like to share our outreach pursuits to other teams at Worlds as an example of a Motivate team.
      Thursday
    • Elbow model
    • Justin worked on the elbow redesign, which we are modeling to combine many intricate parts on our current robot to one, more serviceable and sturdy part on the robot. We finished the model and began its print. See more at (E-136, New Elbow).
    • Intake prototyping
    • As we are in the process of redesigning our intake to be more efficient for worlds, we are making many prototypes. Since we are planning to design the new robot where the elbow can flip in both ways for intaking, we need an intake that works when flipped both ways. Aaron prototyped an intake mechanism that rotates while keeping the sorter oriented correctly as proof of concept.
    • Finalize and send email to Diversity Director at Worlds about MXP
    • Friday
    • Work on robot model
    • Balancing adjustments
    • With our new reverse articulations, Abhi and Ben O have been tuning the PID constants in our code to improve our robot's balance, as each articulation has its own center of gravity.
    • Restock polycarbonate

    Localization

    09 Mar 2019

    Localization By Ben

    Localization

    A feature that is essential to many advanced autonomous sequences is the ability to know the robots absolute location (x position, y position, heading). For our localization, we determine the robots position relative to the fields coordinate frame. To track our position, we use encoders (to determine displacement) and a gyro (to determine heading).

    Our robots translational velocity can be determined by seeing how our encoder counts change over time. Heading velocity is simply how our angle changes in time. Thus, our actual velocity can be represented by the following equation.

    Integrating that to find our position yields

    Using this new equation, can obtain the robots updated x and y coordinates.

    DPRG Visit 2.0

    10 Mar 2019

    DPRG Visit 2.0 By Abhi, Karina, Arjun, and BenO

    Task: Present to the Dallas Personal Robotics Group about FTC app and our modifications

    Today we had 2 goals: present the FTC control system and allow everyone in the room to create their own FTC app to deploy to our robot. In the beginning of our presentation, we had a slideshow to show the overview of FTC as well as our progress this season since they last saw us. After this, I went through the process of creating a working opmode for our robot, Iron Reign style. The presentation is given below.

    Planning Sessions

    10 Mar 2019

    Planning Sessions By Charlotte

    Task: Outline new planning sessions

    Beyond the Gantt chart and meeting logs mentioned in (T-17, Project Management), another one of the biggest additions to the team with the project management role are planning sessions. Planning sessions are a seemingly simple concept, but the team has struggled with actually implementing them. The main purpose of these sessions are to set off each member with a game plan, one that will keep them productive, engaged, and helpful to the progression of the team.

    These planning sessions take place around the main monitor in our robot house at the beginning of each practice, with a document pulled up to record our agenda. Often the whole team cannot be present, but if not the project manager reaches out to those members individually and let's them know the discussion that was had. Each session is recorded in an agenda that separates objectives into its subteam: engineering, code, blog, and miscellaneous. Each agenda is then included at the beginning of each meeting log and frequently referenced to throughout the log.

    These sessions seem like an obvious addition to the team, but we have struggled to implement this change in past years. With a project manager, there is a leading voice in these meetings that emphasizes their importance. In the future, hopefully attendance to these meetings will improve, and the whole team will recognize them as incredibly important to our success. Ways to ensure this improvement are for the project manager to create outlines before each meeting and to begin these discussions over Discord during the week in the #planning channel so that we can solidify these plans during the planning session.

    VEX 393 Motor Testing

    13 Mar 2019

    VEX 393 Motor Testing By Jose, Cooper, Aaron, and Janavi

    Task: Test VEX Motor 393 as a faster servo for intake

    We need to speed up our intake to spend less time in the crater collecting minerals. We can accomplish this using VEX 393 Motors with high speed gears integrated, these motors are great since they count as servos, not motors. In terms of progress, this is what we did:

    • Tested VEX Motor 393 with servo cable on BigWheel
    • Resoldered XT-30 for servo power injector cable
    • Built new cable for servo power injector
    • Did research on VEX Motor 393 Controller to find out how it works
    • Replaced gears of VEX Motor 393 with high speed gears
    • Researched how to troubleshoot VEX Motor Controllers
    We are having issues implementing these motors onto BigWheel and our troubleshooting efforts did not suffice our needs.

    Next Steps

    We need to plan how to replace the servos on the intake with the VEX 393 Motors and test their functionality.

    Balancing Robot

    15 Mar 2019

    Balancing Robot By Abhi and Ben

    Initial Work on Balancing Robot

    Since our robot has two wheels and a long arm, we decided to take on an interesting problem: balancing our robot on two wheels as do modern hoverboards and Segways. Though the problem had already been solved by others, we tried our own approach.

    We first tried a PID control loop approach as we had traditionally been accustomed to that model for our autonomous and such. However, this served as a large challenge as lag in loop times didn't give us the sensitivity that was necessary. However, we tried to optimize this model.

    Next time we will continue fine tuning the gains, and use a graph plotting our current pitch versus the desired pitch to determine how we should tweak the gains to smoothly reach the setpoint. Another factor we need to account for is the varying loop times, and multiply these loop times into a pid calculations to ensure consistency. In addition, we may try to implement state space control to control this balancing instead of PID.

    FIRST in Texas Grant

    16 Mar 2019

    FIRST in Texas Grant By Ethan

    Task: Recieve a grant for the Iron Reign program

    Iron Reign has received $1,000 from FIRST in Texas for tournament fees and robot parts. This will go a long way for our team, as DISD STEM has already stepped in to cover the Worlds' fees, which in turn allows us to use these funds for future seasons if needed.

    Meeting Log

    16 Mar 2019

    Meeting Log March 16, 2019 By Charlotte, Janavi, Aaron, Ethan, Justin, Bhanaviya, Beno, Abhi, and Karina

    Meeting Log March 16, 2019

    Today's Meet Objectives

    Agenda

    Objective Summary

    Our main objectives for today are to gather and assemble the parts and subsystems needed to construct our new robot as well as continue the improvement of our robot's balance programmatically.

    Today's Work Log

    • Beginning of new robot build
    • Aaron and Justin began working on our new competition robot. Justin designed and cut a polycarb base and Aaron assembled the elbow piece and both wheels. The polycarb base will be the structure of the robot, connecting all of the subsystems together.
    • PID Tuning and Reverse Articulations
    • Abhi and Ben O have been tuning PID gains for autonomous and the presentation of our robot. Today, we focused on balancing our robot while the intake is fully expanded and the chassis is vertical without superman. This task is extremely complex considering the tiny balancing point and the height of the center of mass when the robot is extended in such a way. Also, since adjustments to our elbow, we are in the process of creating new reverse articulations. These allow the elbow to bend in the opposite direction as before to remove burden on our drivers.
      Abhi balancing robot before PID adjustments
    • Bill of Materials
    • Bhanaviya and Karina continued to work on a bill of materials, which can be found at (E-131, Bill of Materials). This is a continuation of progress made during spring break, and such a record will make it easier to build our second robot, as builders will have easy access to each part we need and where to aquire such an item.
    • BigWheel cutaways
    • Ethan made some cutaways using PTC Creo and Autodesk and our robot model, which required him to convert the file to .dxf in a certain articulation and then into an Illustrator file. This will allow us to better illustrate and document the design of the robot.
      Cutaway of BigWheel in Illustrator
    • Intake analysis
    • Karina took some videos of our intake system to analyze its efficiency. Notably, we want to measure the time it takes a mineral to travel through our corn-on-the-cob intake and thus determine the lag that occurs in this process. This will guide our redesign of our intake mechanism. In the next week we will perform this analysis, which can be found at (E-132, Intake Speed).

    Today's Member Work Log

    Team MembersTaskStart TimeDuration
    AllPlanning Meeting2:10pm.25
    AbhiPID tuning and articulations2:004
    Ben OPID tuning and articulations2:004
    EthanCutaways of BigWheel model2:004
    AaronSubsystem assemblies for new robot2:004
    CharlottePlanning and blog2:004
    BhanaviyaBill of materials2:004
    KarinaBill of Materials and intake analysis2:004
    JanaviBlog2:004
    JustinPolycarb base measurements and cut2:004

    Balancing Robot Updates

    16 Mar 2019

    Balancing Robot Updates By Abhi and Ben

    Updates on Balancing Robot

    Today we managed to get our robot to balance for 30 seconds after spending about an hour tuning the PID gains. We made significant progress, but there is a flaw in our algorithm that needs to be addressed. At the moment, we have a fixed pitch that we want the robot to balance at but due to the weight distribution of the robot, forcing it to balance at some fixed setpoint will not work well and will cause it to continually oscillate around that pitch instead of maintaining it.

    To address this issue, there are a number of solutions. As mentioned in the past post, one approach is to use state space control. Though it may present a more accurate approach, it is computationally intensive and is more difficult to implement. Another solution is to set the elbow to run to a vertical angle rather than having that value preset. For this, we would need another IMU sensor on the arm and this also adds another variable to consider in our algorithm.

    To learn more about this problem, we looked into this paper developed by Harvard and MIT that used Lagrangian mechanics relate the variables combined with state space control. Lagrangian mechanics allows you to represent the physics of the robot in terms of energy rather than Newtonian forces. The main equation, the Lagrangian, is given as follows:

    To actually represent the lagrangian in terms of our problem, there is a set of differential equations which can be fed into the state space control equation. For the sake of this post, I will not list it here but refer to the paper given for more info.

    Next Steps:

    This problem will be on hold until we finish the necessary code for our robot but we have a lot of new information we can use to solve the problem.

    New Robot Base - Icarus

    19 Mar 2019

    New Robot Base - Icarus By Evan, Justin, Aaron, and Ethan

    Task: Build the base for the new robot

    Since BigWheel was never intended to be a competition robot, we decided to build an entire new robot based off of it. This means that the base plate of the robot is going to have to be the most accurate part of the robot since everything after that has to be built upon it. To do this, we started out by measuring the base of our original robot, then squaring the whole thing out, making sure it was uniform across the base, down to 1/32". The inner slot that houses the superman lever was done down to 1/16" because it’s precision was not as important; it houses the Superman arm's wheels.

    We cut and trimmed the basic platform using the table saw and clipped some of the thinner excess polycarb off with flush cutters. Once the base was cut to size, we moved onto the bends. The bends were measured exactly where they are on the outside of the current robot. To make precise cuts, we took a trip to the Dallas Makerspace. There, we used the sheet bender to bend our 1/8" polycarbonate which makes up the base, into shape. The walls of the base are then going to be connected to square aluminum piping that has been ripped in half to create the outer wall.

    The task of holding the sides together will be done by two 3D printed parts that will house the LED strip that goes around the outside of the robot (used to communicate to the driver which mode we are in). This base will be much more precise than our previous chassis, making it more reliable as well. Finally, the new base will have more mounting points than before, allowing for greater modularity. The old robot will be a sparring partner for driver practice. The level of craftsmanship that has gone into this baseplate is industrial grade, we have done something comparable in precision and accuracy to any product meant to be mass produced. We can only hope that our final robot works as well as it's intended.

    Next Steps

    To have a fully supported base, we need to add the framing brackets and the wheels before it can be considered a wrap on the base section of the robot.

    Finishing Icarus' Base

    20 Mar 2019

    Finishing Icarus' Base By Evan, Aaron, and Ethan

    Task: Perform the final steps to complete Icarus' base

    Since we finished the polycarb base, our robot went through some major changes. We last left our robot in the post-bend stage, just a piece of polycarbonate. The first thing we did was to square the whole robot with side brackets. These cleanly ripped aluminum C channel side brackets now serve as the highly accurate frame of our robot, which has been measured down the millimeter for the highest level of precision yet.

    After creating the side brackets, it was time to give them the right holes in all the right places. The holes for the rod we use as our drive shaft were drilled in the side brackets, exactly the same on either side, as were the holes for the points of attachment on either side of the robot, connecting the base to the brackets. The front bracket was cut to size and placed on the robot after the REV rail we use as an attachment point for the elbow joint was placed. Then we put the 3D printed brackets onto the REV rails that make up the back end of the frame of the robot, running the bar that became the axle for the wheels. If you want to see just how far we’ve come, you can look back at the article that Arjun and Karina wrote about building the first version of the robot over the summer. The amount of improvement is large and part of the journey. Everything on the robot is done for a reason, be it stability, weight, or efficiency. This time around we’ve significantly reduced the number of extra things on the robot, and simplified it as much as we possibly can.

    Next Steps

    The next step is going to be told in an upcoming article that will describe the process of building the arm mount. If this robot is going to be on the field and compete, it needs the elbow joint to be constructed, so that’s next on the evolution of the new robot.

    Meeting Log

    20 Mar 2019

    Meeting Log March 20, 2019 By Bhanaviya, Karina, Evan, and Justin

    Meeting Log March 20, 2019

    Today's Meet Objectives

    Objective Summary

    We plan to build the base of the chassis for the new robot, mainly by aligning the new REV rails with the polycarb base build last meeting.

    Today's Work Log

    • Layout the base of the new chassis
    • Karina, Justin and Evan measured and cut out rails for the new robot. Designing a new layout was a matter of deciding the REV Hub placement so that it did not interfere with the elbow motion. Since the chassis base holds all the subsystems together, it needs to be laid out such that all the rail and bolt alignments are able to support the structure of the robot.
    • Mark and drill holes for new corners and rev rails
    • Justin worked on creating new corner pieces for the new chassis. These were larger and more rounded in order to create a stabler base. Additionally, they had more holes drilled into them in order to be compatible for the c-channel. The holes also serve as a means for supporting the LED Strip. Karina and Evan also drilled the new REV rails so that they would align with the new chassis.

    • Replace gear sprockets
    • In order to switch from 60 to 1 standard gear boxes to 20 to 1 orbital motors, we replaced the gear sprockets with larger ones. This is because the new motors are much more robust and as such it would be ideal to employ the use of larger gear sprockets capable of supporting the motors' weight.

    Today's Work Log

    < tr>
    Team Members Task Start Time DurationAll Planning Meeting 5:15 .15
    Karina Drilling REV rails and base layout 5:30 3
    Evan Drilling REV rails and base layout 5:30 3
    Justin Create new corner pieces 5:30 3
    Bhanaviya Replace gear sprockets and Meeting Log 5:30 3

    Meeting Log

    22 Mar 2019

    Meeting Log March 22, 2019 By Bhanaviya, Janavi, Abhi, Arjun, Ben O, Paul, Ben B, and Cooper

    Meeting Log March 22, 2019

    Today's Meet Objectives

    Agenda

    Objective Summary

    Over the course of today’s meet, we plan to create new axle pieces for the big wheels of the new robot, calculate torque for Superman, improve articulations, and create a reveal video for Mini Mech.

    Today's Work Log

    • Create new axle-holders
    • Cooper and Ben B worked on creating new axle for the big wheels of the new chassis. Since we replaced gear keepers last meet, we will need to have axle pieces that can support the weight of the new gear keepers and the wheel. Ben worked on soldering the pieces while Cooper helped ensure that the pieces had enough room to be mounted on the chassis.
    • Improve articulations
    • Abhi, Arjun and Ben O worked on merging all of the Pull Requests that they have made over the past few weeks, ensuring that they work together with each other and the existing code base. They also refactored our Articulation code to make it easier to use and understand. Additionally, they added support for State Space Controllers. State Space Controllers are advanced control loops which perform complex linear algebra over input matrices to find outputs. These can be used to make our articulations more efficient, as well as help with balancing on two wheels.
    • Calculate torque for Big Wheel 2.0
    • Janavi worked on calculating torque for the different subsystems of the new robot. Since Superman has had some balancing issues in the past, calculating torque and understanding its degrees of freedom will enable us to ensure that its center of gravity is stable. She also calculated the torque for the lift to ensure that the linear slides don’t extend too far out and cause the robot to tip over.
    • Create a reveal video for mini-mech
    • Paul created a reveal video for Mini-Mech. Since Mini-Mech played an essential role in us choosing our wheels and chassis design, it was only ideal to acknowledge its existence with a reveal video of its own. This video will also come in handy when attempting to see just how out iterative our design process has been.

    Today's Work Log

    Team Members Task Start Time Duration
    All Planning Meeting 5:15 .15
    Janavi Calculate torque for new design 5:30 3
    Bhanaviya Meeting Log 5:30 3
    Abhi Improve articulations 5:30 3
    Arjun Improve articulations 5:30 3
    Ben O Improve articulations 5:30 3
    Cooper Create new axle-holders 5:30 3
    Ben B Create new axle-holders 5:30 3
    Paul Create mini-mech reveal video 5:30 3

    Bill of Materials

    23 Mar 2019

    Bill of Materials By Bhanaviya and Karina

    Task: Create a list of parts needed for the new robot

    To determine all the materials we need for the new robot, Karina and I started a Bill of Materials. To do this, we first analyzed Big Wheel sub-system by sub-system. We determined the parts used for each sub-system and placed it into a spreadsheet. Upon doing this, we needed to get each part's exact measurements so that we could save time when trying to cut the new parts. Additionally, we needed the quantity of each part as well as which manufacturer it was from. This was critical because at the end of the day, the task was to build a better version of Big Wheel but using, more or less, the same parts.

    Intake Speed

    23 Mar 2019

    Intake Speed By Karina

    Task: Analyze efficiency of our intake system

    A big part of our redesign is improving our intake system. To see where some of the errors may lie, we took detailed videos of our robot intaking silver and gold minerals from a side view, one mineral at a time. We measured the time between when the intake first made contact with the mineral, and when the mineral was directly underneath the rotating icecube tray, and therefore in our control, using LoggerPro video analysis.

    Silver Minerals
    TrialΔt (s)
    10.733
    20.466
    31.233
    41.934
    50.766
    60.634
    70.600
    80.466
    92.133
    100.700
    Gold Minerals
    TrialΔt (s)
    10.234
    20.532
    30.300
    40.533
    50.533
    60.300
    71.433
    80.567
    90.800
    100.433

    On average, silver mineral intake took 0.967s and gold mineral intake took 0.567s, meaning our intake was more efficient at gold mineral intake. Looking at Big Wheel intake frame by frame revealed faults in our intake. Intaking gold minerals went smoothly. For silver minerals, however, the slack in the ice cube tray resulted in it losing its grip on the mineral multiple times before the mineral was firmly grasped. This is likely the result of frictional forces struggling to overcome the elastic force of the flexible icecube tray pushing outwards. In trial 4, for example, our intake lost its grip on the mineral 4 times before it could be considered in our control.

    Next Steps: Redesign Intake Mechanism

    We are assembling a subteam of builders to take on the challenge of designing a new intake system. Some issues we'll have to address include:

    • The slack in the center of the corn-on-the-cob intake

    • The silver minerals slipping on the sorter
    • We'll have to have what changes will be made to our current design. (E-147, Intake Update)

    Meeting Log

    23 Mar 2019

    Meeting Log March 23, 2019 By Charlotte, Ethan, Bhanaviya, Karina, Jose, Justin, BenB, BenO, Arjun, Cooper, Paul, Abhi, Janavi, and Aaron

    Meeting Log March 23, 2019

    Today's Meet Objectives

    Agenda

    Objective Summary

    Today, our main goal is to finish the chassis of our new robot, as well as identifying and fixing the error in our code that stops the OP mode that lets the intake extend into the crater.

    Today's Work Log

    • New robot chassis build
    • Justin, Ben B, and Jose installed the axle mounts (which have finished printing and being welded) and the second wheel). We installed the drive motors, fully assembled, and put together the drive change. Our chassis is complete except for the Superman arm, as those parts we started printing today. The print broke because the printer was on the wrong setting, rather than setting a base, the print pulled up. The new print should be finished in time to do the assembly of superman during the week.
      Chassis before installation of drive motors
      Ben B cutting the main drive shaft
    • Sorter assembly for old BigWheel
    • In order to do drive practice with our old robot, Aaron and Cooper did some fixes to the intake for it to be functional again. While this is not the sorter we will use on our new BigWheel, so we can get some much-needed drive practice next week.
      Cooper with the sorter pre-assembly
    • Identify and fix code error
    • The code team has been trying to identify a code error since yesterday so that they can continue fine-tuning autonomous and the robot won't malfunction while deploying in the crater. We also need this part of the code to work for drive practice that we hope to get next week. After some thorough searching, they found the error to stem from a missing break function that was supposed to occur between the case for deploying and for reverse driving.
      Arjun looking for the error
    • Robot manual and team summary
    • Ethan worked on the robot manual, which is a brief but incredibly detailed guide of the subsystems on our robot. This will be put in our journal for the judges to read. We also updated the team summary to make it more concise so it is more easily digestible for the judges. Finally, we made a fold out for our journal to show the judges our outreach in a succinct manner.

    Today's Member Work Log

    Team MembersTaskStart TimeDuration
    AllPlanning Meeting2:10pm.25
    NameTask2:004

    New Elbow

    23 Mar 2019

    New Elbow By Justin

    Task: Design an elbow for bigwheel that we can 3d print

    To speed up the build process of the new robot, we made a 3D printable part of the elbow joint. The design simplifies the complex assembly of the elbow mounting point and makes it a single printable part. The old elbow contains many different parts that would need to be spaced precisely in order for the gears to mesh properly, while the new print allows us to stay consistent with our measurements when building the new robot. The part contains motor mounting holes, as well as a socket to support the weight of the motor. There is also a place to put the bearing that the lift system rotates on.

    This had to be spaced properly so we calculated the exact distance by using the number of teeth and module of the gear to find the diameter. The part also has two places to attach it to a REV rail, which allows us to secure the elbow to the chassis. The spacing between the bottom REV rail socket and the bearing hole is spaced so that the gear that aligns with the bearing is flush with the front plane of the robot to stay within 18 inches. The new bearing hole is also higher up than the hole on the old robot, which gives us more extension when intaking or depositing minerals.

    Next Steps

    We need to attach the new mounts and test how the new height of the elbow mounting point affects our balance and latching.

    Updated Meetinglog Template

    23 Mar 2019

    Updated Meetinglog Template By Charlotte

    Task: Update the meetinglog template to more accurately reflect efforts

    An essential part of the project management role is the meeting log, where the project manager records all progress made in each subteam during each session. It requires diverse knowledge of every part of the team, and is a very important part of our engineering journal, tracking the lower level progression of the team.

    The meeting logs were previously constructed in long form paragraphs, detailing a narrative of that day in each part of the team. However, as a judge scans across the notebook, it is difficult to pick out key accomplishments from these walls of text. So, we changed the formatting of the meeting log to describe each task in a single bullet point then offering a brief feature-benefit description below said bulletpoint.

    The meeting logs are now organized as follows: Agenda (created and screenshotted then put into the log), Objective Summary (a summary of the agenda giving an overall theme for the day), Meeting Log (the actual bullet points and descriptions of the tasks that day), and the Member Meet Log (a chart at the bottom of the log that details each member present and what they worked on that day). The purpose of this organization is to allow the judge to scan the whole log and understand what we did that day, so their eyes go from broad overarching planning to specific detailed description of what we did. If they read the objective summary or look at the agenda and are interested, they are immediately drawn to the bullet points and can look at the chart in the end if they are so inclined.

    The meeting log is an ever changing addition to our notebook, and we are constantly looking to improve how our story as a team is being conveyed to judges and to people reading the blog online.

    Constructing Icarus' Elbow

    24 Mar 2019

    Constructing Icarus' Elbow By Evan, Aaron, and Ethan

    Task: Build the elbow for intake

    In the last Icarus' blog post, it was just getting the basic flat, support frame of the robot. The next step in the construction of Icarus' is the elbow joint that holds the intake. This time around, we simplified everything significantly as compared to BigWheel, reducing the excessive aluminum parts to two 3D printed parts. We attached these to the REV rail that runs across the front of the robot with two smaller REV rail parts we custom cut to fit the size of the 3D part. Then, we inserted the motors that each of them requires. Here we are using the same REV HD motors we used for our elbow on the last robot since they worked quite well. After inserting these, we went about supporting the elbow frame, which was done with two REV rails attached to the robot from the top of the 3D printed piece.

    These were attached at a 30-degree angle and anchored to the robot behind the two drive motors we use for the wheels. Once both of these were secured, we began assembling the arm. The arm itself has remained mostly the same, consisting of two linear slides on either side for a grand total of four, extra smooth slides. We drilled out the correct holes on all of the arm pieces, created four custom metal parts for the slides, which took a while on the bandsaw, and then assembled the bottom slide of the arm. Three holes were drilled out in four REV 86 toothed gears, which work as the mounting point of the linear slides. Once these were attached, we attached all the other necessary parts for the arm and life on the elbow joint’s 6mm hex axle that protrudes from a ½ inch hex axle set on two bearing with ½ inch hex inlay for an insanely smooth rotation. After all the necessary hardware was set in place, we put a redesigned version of our 3D printed gear keepers on to keep the distance between the motor shaft and the rotating shaft the same, and the gears firmly interlocked. During the time frame of this article, the new superman lifting lever was put into place.

    Next Steps

    The next step in the saga of the robot is the hook and the new intake, which will be seen in upcoming articles. As well, if the robot is to score at worlds, we need to construct the arm lift for the intake and then the intake itself, which will be redesigned and improved. Also, some wiring would be nice.

    Icarus' Superman Arm

    25 Mar 2019

    Icarus' Superman Arm By Evan, Aaron, and Ethan

    Task: Design and install a lifting arm for Icarus

    At the same time as the elbow joint was being done (which can be found in the article "Constructing Icarus' Elbow”) the Superman lift was being installed in the back half of the robot. The old superman system was difficult to install, but we designed it to be slightly easier. Mounting brackets were already pre-set in the robot so we didn’t have to disassemble half of the robot to be able to set screws into the extrusion rail. Bearings were inserted into the brackets, and the process of sliding all of the needed parts onto the rails began. First was the outside shaft collar, which holds the 6mm hex shafts in place. Then was the first interior shaft collar, which kept the internals in place. Then the first of the gearkeepers was put on, followed by a spacer meant to separate the gearkeeper’s bearing from being popped out by the gears on the Superman arm. Then came the actual Superman arm, which is one centimeter longer than our original arm, hopefully allowing more lift.

    It’s made of three 125 toothed gears from REV, with the center one’s ridges drilled out, a REV rail sized chunk sawed to insert our actual lever bar, and 3D printed spacers separating each of the gears around the outside which have all been bolted together. On the end of the bar is a 3D printed holder for the four omni-wheels we’ve positioned there, which are all set with bearings for smooth motion. Once this was slotted onto the 6mm hex rail we added one more spacer, the other gearkeeper, then the final interior shaft collar. It was put through the other bearing and bracket on the other side and finally closed off with a lost final shaft collar on the outside.

    After we got the arm in, we moved on to the driving 6mm hex shaft. Since this one was a lot longer and was hard to fit into the space provided, it was aligned in a way that it could slip through the slots of the wheels as we pushed it into place. We first put a REV core hex motor and a shaft collar that would work as the outside clamp. Then we put it into the bearing on the bracket and pushed it through. A shaft collar was placed, and then we attached the other end of the gearkeepers on. It was tight like we wanted it to be, but it didn’t make our builder lives easy. We put on a spacer to keep it in line with the Superman arm and then we put on the drive gears, three 15 tooth gears with the center one's sides cut off to mimic the Superman gears on the other side. After we put that in, we put another spacer and then the other side’s gearkeeper. This is where the struggle came. Since the gearkeepers keep the gears together exactly the distance from the center of the radius of the 15 toothed gear to the center of the 125 toothed gear, it was a very tricky squeeze to get it attached. After we managed to get it one, we put another shaft collar on and put it through the bearing on the other side. We slid on one last shaft collar on the outside, and ended the shaft with another REV core hex motor. That capped the entire subsystem off, and all that’s left is it to be wired.

    This system differentiates us from other teams - our robot is able to deposit through a lever arm that rotates the robot itself, adding an additional degree of sophistication and mobility to the robot.

    Next Steps

    The subsystem needs to be completely wired and tested before it's approved for the final robot.

    Meeting Log

    28 Mar 2019

    Meeting Log March 28, 2019 By Cooper and Evan

    Meeting Log March 28, 2019

    Today's Meet Objectives

    Objective Summary

    Fix camera mount, attach lift motors, make custom cables for the drive motors, and forge the hook

    Today's Work Log

    • Fix camera mount on BigWheel
    • We've had a problem for while where the camera on BigWheel gets loose, and falls out. Cooper decided that a clamp, like the one we had before, just better executed. Cut out of a spare piece of 4 mm Polycarb, and tightened by a m3 screw, it holds the camera in place without even the slightest wiggle. This will help keep our vision more consistent.
    • Mounting elbow motor
    • Evan in the time being mounted the lift elbow motors on Icarus. This means we can start to make the arms.
    • Make custom Cables for Icarus drive motors
    • Cooper worked on cutting down the motor cables of the Andy mark motors used for driving. This will help keep clutter down from how bad it was on BigWheel
    • Forging new hook
    • Evan and Cooper worked on forging a new hook. It took two iterations, as the first became brittle and snapped, but the second one was fine. This new hook will go on Icarus, and will allow us to practice sooner

    Icarus Code Support

    29 Mar 2019

    Icarus Code Support By Abhi

    Task: Implement dual robot code

    With the birth of Icarus came a new job for the programmers: supporting both Bigwheel and Icarus. We needed the code to work both ways because new logic could be developed on bigwheel while the builders completed Icarus.

    This was done by simply creating an Enum for the robot type and feeding it into PoseBigWheel initialization. This value was fed into all the subsystems so they could be initialized properly. During init, we could now select the robot type and test with it. The change to the init loop is shown below.

    Next Steps

    After testing, it appears that our logic is functional for now. Coders can now further devlop our base without Icarus.

    Reverse Articulations

    29 Mar 2019

    Reverse Articulations By Abhi

    Task: Summary of Icarus Movements

    In post E-116, I showed all the big wheel articulations. As we shifted our robot to Icarus, we decided to change to a new set of articulations as they would work better to maintain the center of gravity of our robot. Once again, we made 5 major deployment modes. Each articulation is necessary to maintain the robot's center of gravity as its mode of operation shifts.

    The position seen above is called "safe drive". During normal match play, our drivers can go to this position to navigate the field quickly and with the arm out of the way. In addition, we use this articulation as we approach the lander to deposit.

    When the driver control period starts, we normally navigate to the crater then enter the intake position shown above. From this position, we can safely pick up minerals from the crater. Note that there are two articulations shown here. These show the intake position both contracted and extended during intake.

    During the end game, we enter a latchable position where our hook can easily slide into the latch. After hooked on, our robot can slightly lift itself off the ground to hook. This is the same articulation as before.

    At the beginning of the match, we can completely close the arm and superman to fit in sizing cube and latch on the lander. This is the same articulation as before.

    These articulations were integrated into our control loop just as before. This allowed smooth integration

    Next Steps

    As the final build of Icarus is completed, we can test these articulations and their implications.

    Center of Gravity calculations

    30 Mar 2019

    Center of Gravity calculations By Arjun

    Task: Determine equations to find robot Center of Gravity

    Because our robot tends to tip over often, we decided to start working on a dynamic anti-tip algorithm. In order to do so, we needed to be able to find the center of gravity of the robot. We did this by modeling the robot as 5 separate components, finding the center of gravity of each, and then using that to find the overall center of gravity. This will allow us to better understand when our robot is tipping programmatically.

    The five components we modeled the robot as are the main chassis, the arm, the intake, superman, and the wheels. We then assumed that each of these components had an even weight distribution, and found their individual centers of gravity. Finally, we took the weighted average of the individual centers of gravity in the ratio of the weights of each of the components.

    By having equations to find the center of gravity of our robot, we can continuously find it programmatically. Because of this, we can take corrective action to prevent tipping earlier than we would be able to by just looking at the IMU angle of our robot.

    Next Steps

    We now need to implement these equations in the code for our robot, so we can actually use them.

    Icarus' Arms

    31 Mar 2019

    Icarus' Arms By Evan, Aaron, and Ethan

    Task: Install intake arms

    Since the last post, in which we installed the Superman Arm, we've installed the second stage of the linear lift and the belt drive that accompanies it. We began by drilling two holes in the linear slides that were exactly the space between the holes on the carriages for the linear slides using a drilling template we printed on the Tazbot printer. We did this to two of our linear slides, and then attached them. We realized that they were too long and sticking out of the 18x18x18 sizing box, so we detached them and cut off a centimeter from the top and ground off the edges. They were reattached successfully, and the 3D mounts for the belt system were installed at the same time since they use the same point of attachment as the linear slides.

    Those custom pieces that were mentioned in the Joint Operation article were now utilized, attaching to the top of the first linear slide and to the carriage of the second linear slide. These parts are used for the attachment of the pulley bearings that the belt drive relies on to function. We installed these pieces rather easily but struggled on some of the tighter fits that were done to reduce wiggling in the arms, a problem that the last robot had. The next thing we added was the physical belt which drives our lift. The belt was tied off on the final carriage on the second linear slide on either side. The next step was to create the mounting for the motors that would drive the lift. To do this we set up a REV rail under each of the elbow motors, and then topped it off with another rev rail that we connected to the elbow frame supports that run from the front to the back of the robot. Then we mounted the motors, two Orbital 20 andymark motors, which at first didn't fit. The issue was that there was no way to mount them close enough for a belt to be put in place with the current gear keepers we had on the robot. They were attached, and then the motors were mounted, and the belts were put on. The lift has the same ratio as last time, which is further explored in the article Bigwheel Upgrades. The whole system is much more cleaned up and simplified, and generally looks a lot better.

    Next Steps

    The next challenge for us is going to be making the hook, attaching said hook, and redesigning the intake in time for effective driver practice.

    Connecting the Hook to a Servo

    01 Apr 2019

    Connecting the Hook to a Servo By Karina

    Task: Connect the hook to a servo

    When attaching the hook to the servo, it was very important that the configuration gave the hook its widest possible range of motion. The open position needed to as far back retracted as possible for an easier lander dismount, and the closed position had to be closed enough so that our robot would not fall off the lander in competition.

    The hook was forged prior to its attachment, of course, so the mechanism had to account for the overextension of the end opposite the hook past the horizontal. To solve this problem, a L-bracket was mounted onto the end of the hook.

    The closed position was easier. The servo rotated approximately 180 degrees (its full range of motion being from 899 to 2100) into the closed position.

    Next Steps: Intake

    Now that the hook system is completed, all that's left is to test it and then mount the intake.

    Project Management Mentorship

    01 Apr 2019

    Project Management Mentorship By Charlotte

    Task: Ensure skills are passed to underclassmen

    Since our project manager is leaving for college next year, there has been an effort to teach the younger students on our team to take on this role and its many responsibilities. These responsibilities include updating the Gantt chart, writing meeting logs, gathering information for meeting logs when you are not able to make it to meetings, leading and helping writing post mortem and roads to, ensuring general organization for the whole team in terms of Discord and other communication methods, writing articles about the ever-changing responsibilities of this role, managing competition day roles and management, leading and recording planning sessions, being part of leadership in the blog sub team, ensuring communication between the various subteams in Iron Reign, encouraging and understanding detailed explanations of each part of the robot, blog, code, and presentation, among much more.

    This is a lot for one person to take on, emphasizing the importance of gentle and detailed mentorship so that next year our new project manager has all the tools and much needed coaching they need to succeed and not get lost in what the role entails so that they can make the team a more organized unit.

    We have taken on many freshmen interested in assuming these responsibilities, notably Bhanaviya and Cooper. This mentorship begins with the meeting logs, which often take multiple hours to construct due to the fact that they must understand not only what each member of the team is working on, but also how that plays in the overall progression of the team. One big example is in conveying the progress of the coding team. This has been a challenge for me this year due to my lack of experience in dealing with robot code. Taking the time to have a longer discussion the the coders and demanding explicit details about the code changes and how these changes affect the overall progression of the code is what helped me with this challenge. This demand for detail is what is most important in the mentorship process, as it takes a certain confidence and assertion to do so.

    Aside from these soft skills, there are some hard skills to be had too. First of all, we mentored all the underclassmen on how to use HTML to write and post a blog post as well as an introduction to what their language should sound like in these blog posts. Rather than conversational, each post should be written in a professional, technical, or formal manner, depending on the subject matter of the post. Meeting logs have their own template and formatting, which have been taught to future project managers so that they can practice these skills. Bhanaviya has already written a promising number of meeting logs with impressive detail.

    As the season comes to an end, there a few things remaining to teach, especially planning sessions and the Gantt chart. The Gantt chart especially requires a lot of hands-on mentorship, as though the software is intuitive it is difficult to be in the mindset for that type of higher level organization if you haven't ever before and haven't been walked through it. Alongside this mentorship, I will have the freshmen lead planning sessions with me as an advocate alongside them, so if the conversation gets off topic I can supply them the confidence needed to call the meeting back to focus. Mentorship is a long process, but is essential in such an abstract role in the team and I will continue to be there as a voice of support throughout the whole process.

    Wiring Icarus

    01 Apr 2019

    Wiring Icarus By Jose, Abhi, Evan, and Aaron

    Task: Wire Icarus to be functional and move utilizing code

    With the construction of Icarus nearing completion we need to start connecting wires from the motors and servos to the REV Expansion Hubs before it becomes impossible to do so.

    • As soon as the expansion hub were placed on the chassis, servo wire extenders were connected before anything blocked us from doing so
    • We used custom sized wires to avoid a mess of wires that were way too long
    • We connected all the motors and servos in the same configuration as we had on BigWheel to keep everything consistent and make coding Icarus easier

    Despite our preemptive measure we encountered several problems when testing Icarus using tele-op control:

    • The polarities on the wires were reversed and this couldn't be fixed in code as the encoder values would be affected by this
    • There was a lot more lag than usual on Icarus, this affected the intake arm as its movement is time-based
    • The speed of the wheels were a lot faster now that we are using a different gear ratio and motor, however unlike the other problems, this can be fixed in code

    Next Steps

    We need to reverse the polarities on all the motor cables and try the fix the lag and speed issue with code.

    MXP Expansion

    02 Apr 2019

    MXP Expansion By Ethan

    Task: Plan the next stage of the MXP

    In post B-7, we announced that BigThought received $150k on our behalf for the creation of a new MXP. Now, we've created a tentative floorplan for the new RV. The new RV will have these programs\features:

    • Voice recording booth
    • Green-screen - recording video
    • 3D printers - keychains
    • Laptops - 3D printing, EV3 coding
    • EV3s - sumo bots

    As well, the new RV will have two new slideouts, allowing for 20+ children to board safely. As well, the RV will be extended by 5', allowing for more space and a dedicated area to hold equipment.

    Next Steps

    Next, we need to create a full 3D model of the new MXP to send back to BigThought.

    Intake Flappers

    04 Apr 2019

    Intake Flappers By Jose, Evan, and Abhi

    Task: Design and test intake flappers to speed up mineral intake

    Due to our new intake articulation involving the superman wheel the ice cube tray intake is slightly too elevated to intake minerals. To fix this we designed small flappers out of ninja flex(the Iron Reign way) to help the intake reach further. Tests prove this intake to be quicker than the ice cube tray alone and it should suffice for the UIL State championship tommorow.

    Next Steps

    We will compete at UIL and see if the new intake works

    UIL 2019

    06 Apr 2019

    UIL 2019 By Ethan, Charlotte, Evan, Janavi, Beno, Benb, Bhanaviya, Abhi, Arjun, Jose, Aaron, Paul, Cooper, and Justin

    Task: Compete at the Texas State Championship

    Today, we competed at the Texas State Championship, UIL Robotics, Division 5A-6A. We finished our robot earlier this week, so this served as a testing ground for our new robot and code.

    Judging and Awards

    There is no presentation at UIL - the judges appear at the pit ad-hoc to ask questions. And, there are no real awards. In this case, we talked to the judges, and they enjoyed our robot, but they happened to watch the game where our robot failed to move due to the gears breaking, so we were not under consideration for any awards.

    Talking to BAE Systems

    Usually at UIl there is a special aisle dedicated to visiting colleges and companies who support FTC teams and want to watch the competition. This time one of the visiting compaines was BAE Systems. Janavi went and talked to one of their employees who was able to connect her to the Dallas team. We plan to contact them to learn more about how they use the conecpts we are learning their jobs. We also hope to be able to give them our presentation and a run down of our robot and its capabilites.

    Code/Robot/Robot Game

    As the robot was freshly built, we didn't have much coded before the tournament. The night before, we did some basic tuning and created an autonomous, but not much. This coding is detailed in an earlier post. Despite this, the autonomous performed reasonably well - we could reliably delatch and sample - our issues came up in scoring the team marker as we failed to consider that the team marker wouldn't fit in the redesigned intake.

    The tournament also served as a stress test for Icarus. Two major issues cropped up: the belt system and the Superman arm. First, the belt system itself worked well - Icarus' arm extended quickly, but it repeatedly got caught on the lander's edge, detensioning the belt and requiring constant maintenance. Second, the gears on the Superman arm were stripped as we attempted to escape the crater in our first match. The stripping itself isn't surprising - Superman applies pressure on the gears' teeth on the order of mega-Pascals, but the quickness of stripping implies that the gears of Icarus do not fit together as well as BigWheel. So far, we plan to redesign the Superman arm with metal gears to reduce the stripping.

    Game 1
    We won. Our autonomous worked perfectly, but we overshot the crater while parking and got stuck (this was due to underestimating the speed of the 20's on our robot). Thus, we were completely stuck during teleOp, but our partner carried us.
    Game 2
    We lost. When we put the robot on the field, we realized that Superman's gears had stripped, but it was too late to change them out. So, we were stranded in the middle of autonomous and couldn't move beyond that.
    Game 3
    We lost. We hadn't fully repaired Superman, so we were again stranded on the field.
    Game 4
    We lost. We set up an untested autonomous, creating a point deficit we couldn't recover from.
    Game 5
    We won. Superman was fixed and our autonomous worked allowing us to pull ahead by 20 points and win the match.

    Next Steps

    These will be detailed in the UIL post-mortem.

    Assisting Mechanicats with Code

    06 Apr 2019

    Assisting Mechanicats with Code By Arjun

    Task: Help Mechanicats, the other DISD team, debug their code

    Competition is always stressful for everyone. There's so much that can go wrong, and when something does, it feels like all your hard work has gone to waste. We know first hand how it feels when something breaks. That's why we volunteered to help out Mechanicats when there was an announcement over the intercom that a team needed help with vision.

    Mechanicats were having some trouble with their vision code. They told us they were able to sample correctly when they were on depot-side, but when they were on crater-side, they were unable to correctly identify the position of the gold mineral. We talked to them and helped them debug their code, and after a bit of testing, we were able to identify the problem for them.

    The issue was that the TensorFlow detector they were using was returning null when it had already been called before because it expected client code to cache the objects it returned. This meant that when there were lots of minerals in the background, the detector would reuse the same objects to be more efficient. Mechanicats did not realize this, and thus since they were not caching the response of the detector, when they were on crater side they were unable to detect minerals.

    After we fixed this issue for them with a few simple lines of code, we helped them exhaustively test it to ensure that it worked correctly. Mechanicats was extremely grateful for our help.

    Code updates at UIL

    06 Apr 2019

    Code updates at UIL By Arjun, Abhi, and Ben O

    Task: Update code to get ready for UIL

    It's competition time again, and with that means updating our code. We have made quite a few changes to our robot in the past few weeks, and so we needed to update our code to reflect those changes.

    Unfortunately, because the robot build was completed very late, we did not have much time to code. That meant that we not only needed to stay at the UIL event center until the minute it closed to use their practice field (we were literally the last team in the FTC pits), we also needed to pull a late-nighter and stay up from 11 pm to 4 am coding.

    One of our main priorities was autonomous. We decided early on to focus on our crater-side autonomous, because in our experience, most teams who only had one autonomous chose depot-side because it was easier to code.

    Unfortunately, we were quite wrong about that. We were forced to run our untested depot-side auto multiple times throughout the course of the day, and it caused us many headaches. Because of it, we missampled, got stuck in the crater, and tipped over in some of our matches where we were forced to run depot-side. Towards the end of the competition, we tried to quickly hack together a better depot-side autonomous, but we ran out of time to do so.

    Some of the changes we made to our crater-side auto were:

    • Updating to use our new reverse articulations
    • Moving vision detection during the de-latch sequence
    • Speeding up our autonomous by replacing driving with belt extensions
    • Sampling using the belt extensions instead of driving to prevent accidental missamples
    • Using PID for all turns to improve accuracy

    We also made some enhancements to teleop. We added a system to correct the elbow angle in accordance to the belt extensions so that we don't fall over during intake when drivers adjust the belts. We also performed more tuning to our articulations to make them easier to use.

    Finally, we added support for the LEDs to the code. After attaching the Blinkin LED controller late Friday night, we included LED color changes in the code. We use them to signal to drivers what mode we are in, and to indicate when our robot is ready to go.

    UIL 2019 Postmortem

    07 Apr 2019

    UIL 2019 Postmortem By Ethan, Charlotte, Evan, Janavi, Beno, Benb, Bhanaviya, Abhi, Arjun, Jose, Aaron, Paul, Cooper, and Justin

    Task: Reflect on what we did correctly and incorrectly at UIL

    Pit & Packing & Roles

    • Pack more robot parts - didn't have enough to repair Superman arm
    • Pack more tools - needed soldering iron to repair voltmeter
    • Better organizational system - we couldn't find tools easily
    • Need handouts - see tokens post
    • Need team visibility - get shirts for freshmen, get people in stands
    • Need responsibility for clean pit - messy pit made robots repairs much harder
    • Need preassigned roles for team members on game day - reduce confusion
    • Need better scouting system - use Google Forms and live scouting

    Robot & Game

    • Need to repair Superman arm - gears stripped in match; will replace with metal gears
    • Need to install linear slide belt protector - belts got stuck on lander
    • Intake needs to be clear - remove friction tape
    • Need to reduce sorter bar in intake - reduces visibility
    • Need driver practice - reduce simple errors
    • Need auto setup practice - reduce simple errors
    • Need new team marker - old one did not fit in intake

    Code

    • Need to enhance lights system for teleOp - better driver knowledge
    • Need to calibrate anti-tipping method - not adapted for Icarus
    • Need to slow crater-side auto - prevent crater parking mishaps
    • Need to calibrate depot-side auto - options when working with other teams
    • Need to find Superman-linear slide equation - easier articulations
    • Need to simplify controls - automate intake, deposit for driver accessibility

    New Superman Arm

    07 Apr 2019

    New Superman Arm By Ethan and Evan

    Task: Redesign the Superman arm to be more robust for Worlds

    In posts E-116, we found that we were putting pressure on the individual teeth of the Superman gears on the order of mPa. We designed gearkeepers to ensure that the gears would interlock and reduce pressure, and these worked for awhile. However, under tournament pressures at UIL, the teeth on the smaller gears broke entirely - between the teeth that composed the gearing-up portion, at the beginning we had 45. At the end, we had 15 teeth.

    This necessitated a total redesign. Upon coming back from UIL, we created a new version of Superman with metal Tetrix gears with a 3:1 ratio - the aluminum Tetrix uses has proven much tougher in the past. To compensate for the reduction in gear ratio, we removed the old Core Hex Motors and replaced them an NeverRest+BaneBots 104:1 motor+gearbox combination. Coming off the bat, the NeverRest outputs .17 N*m, and with the gearbox, it outputs .17*104=17.68 N*m. With the 3:1 gear ratio, it outputs 53 N*m, matching the previous Superman arm while increasing tooth durability.

    This new Superman arm will allow us to rotate the entire body of our robot around the axis of its wheels, allowing us to reach the lander without difficulty and ensure redundancy on the robot. The Superman arm is the centerpiece of our robot; it allows us to utilize Balancing, Center of Gravity Calculations, and Articulations in a truly innovative way.

    Next Steps

    We need to test the arm to make sure no additional stripping occurs.

    Intake Update

    08 Apr 2019

    Intake Update By Ethan

    Task: Custom design an intake to improve intake times

    In testing, we found that the intake didn't perform adequately - the balls would slide back out in the inverse articulations. So, we designed attachments for the corn-cob intake out of ninjaflex, figuring that small tabs would hold the minerals in better. It failed - they were too compliant - but we found it was much easier to intake minerals than before due to the high coefficient of friction.

    So, we decided that the corncob base was the issue. We designed a circle with the diameter of the previous corncob aligners and attached thicker tabs on the outside, creating the stl seen above. When tested, this was much less compliant than the previous beater bar, which served to make intake easier. In addition, the combination of reinforced tabs and ninjaflex prevented the minerals from falling out of the intake through increased coefficient of friction.

    Next Steps

    We plan to reattach this to the robot to do driver practice.

    Machining Gears for Superman

    08 Apr 2019

    Machining Gears for Superman By Ethan and Justin

    Task: Machine replacement gears for Superman

    Shortly after creating the new Tetrix gear system, we got a response from one of the CNC shops we'd reached out to, offering to machine the 15 and 125-tooth REV gears from the STEP files. So, we took the Superman system off of our old robot, BigWheel, and sent some of the broken 15-tooth gears from UIL.

    In response, the shop sent us the new gears the next day, with added modifications for mounting the gears onto REV extrusion. These gears will make the arm much stronger, making it more robust and able to withstand the shear pressure on the teeth.

    Next Steps

    We need to mount the gears and test them to ensure stability.

    Ninja Flex Intake V2

    09 Apr 2019

    Ninja Flex Intake V2 By Jose, BenB, Karina, Evan, Abhi, Ethan, Charlotte, and Aaron

    Task: Design, implement, and test a newer version of the ninja flex intake

    The new ninja flex intake is good, but it has room for improvement. One issue is that it is too big and minerals have some problems entering the intake tray, Another issue is that the spacing of intake gears is too much and cuases minerals to be intaked slower. We fixed this by using smaller intake gears and using six of them instead of five. After replacing them we could test the new and improved intake. Results showed a much faster intake speed with an average intake time of 1-2 seconds. This was a major improvement and most likely the intake's final iteration.

    Next Steps

    Now with a finished intake we can drive test to see its functionality in a real match.

    Final Gantt Chart

    10 Apr 2019

    Final Gantt Chart By think

    Task: Update the Gantt Chart

    Earlier in the year, we posted an early version of the Gantt chart as seen in (T-17, Project Management). Since then, the chart has seen many changes, which can be seen below:

    See finished Gantt chart at front of notebook in pocket.

    Since the last update, we have added a few groups, notably research and development. The Gantt chart, along with other higher-level planning is completely foreign to the team, so it has been a journey to accomplish this progress. This year was a test of the concept, so next year we will work to improve on this concept and expand its use from strictly the project manager to the whole team. Expect to see another Gantt chart next year that is more fleshed out, detailed, and accurate.

    Control Hub First Impressions

    10 Apr 2019

    Control Hub First Impressions By Arjun and Abhi

    Task: Test the REV Control Hub ahead of the REV trial

    Iron Reign was recently selected to attend a REV Control Hub trial along with select other teams in the region. We wanted to do this so that we could get a good look at the control system that FTC would likely be switching to in the near future, as well as get another chance to test our robot in tournament conditions before Worlds.

    We received our Control Hub a few days ago, and today we started testing it. We noticed that while the control hub seemed to use the same exterior as the First Global control hubs, it seems to be different on the inside. For example, in the port labeled Micro USB, there was a USB C connector. We are glad that REV listened to us teams and made this change, as switching to USB C means that there will be less wear and tear on the port. The other ports included are a Mini USB port (we don't know what it is for), an HDMI port should we ever need to view the screen of the Control Hub, and two USB ports, presumably for Webcams and other accessories. The inclusion of 2 USB ports means that a USB Hub is no longer needed. One port appears to be USB 2.0, while the other appears to be USB 3.0.

    Getting started with programming it was quite easy. We tested using Android Studio, but both OnBot Java and Blocks should be able to work fine as we were able to access the programming webpage. We just plugged the battery in to the Control Hub, and then connected it to a computer via the provided USB C cable. The Control Hub immediately showed up in ADB. (Of course, if you forget to plug in the battery like we did at first, you won't be able to program it.)

    REV provided us with a separate SDK to use to program the Control Hub. Unfortunately, we are not allowed to redistribute it. We did note however, that much of the visible internals look the same. We performed a diff between the original ftc_app's FtcRobotControllerActivity.java and the one in the new Control Hub SDK, and saw nothing notable except for mentions of permissions such as Read/Write External Storage Devices, and Access Camera. These permissions look reminiscent of standard Android permissions, and is likely accounting for the fact that you can't accept permissions on a device without a screen.

    While testing it, we didn't have time to copy over our entire codebase, so we made a quick OpMode that moved one wheel of one of our old robots. Because the provided SDK is almost identical to ftc_app, no changes were needed to the existing sample OpModes. We successfully tested our OpMode, proving that it works fine with the new system.

    Pairing the DS phone to the Control Hub was very quick with no hurdles, just requiring us to select "Control Hub" as the pairing method, and connect to the hub's Wifi network. We were told that for the purposes of this test, the WiFi password was "password". This worked, but we hope that REV changes this in the future, as this means that other malicious teams can connect to our Control Hub too.

    We also tested ADB Wireless Debugging. We connected to the Control Hub Wifi through our laptop, and then made it listen for ADB connections over the network via adb tcpip 5555. However, since the Control Hub doesn't use Wifi Direct, we were unable to connect to it via adb connect 192.168.49.1:5555. The reason for this is that the ip address 192.168.49.1 is used mainly by devices for Wifi Direct. We saw that our Control Hub used 192.168.43.1 instead (using the ip route command on Linux, or ipconfig if you are on Windows). We aren't sure if the address 192.168.43.1 is the same for all Control Hubs, or if it is different per control hub. After finding this ip address, we connected via adb connect 192.168.43.1:5555. ADB worked as expected following that command.

    Next Steps

    Overall, our testing was a success. We hope to perform further testing before we attend the REV test on Saturday. We would like to test using Webcams, OpenCV, libraries such as FtcDashboard, and more.

    We will be posting a form where you can let us know about things you would like us to test. Stay tuned for that!

    Auto Paths, Updated

    12 Apr 2019

    Auto Paths, Updated By Abhi

    Task: Reflect and develop auto paths

    It has been a very long time since we have reconsidered our auto paths. Between my last post and now, we have made numerous changes to both the hardware and the articulations. As a result, we should rethink the paths we used and optimize them for scoring. After testing multiple paths and observing other teams, I identified 3 auto paths we will try to perfect for championships.

    These two paths represent crater side auto. Earlier in the season, I drew one of the paths to do double sampling. However, because of the time necessary for our delatch sequence, I determined we simply don't have the time necessary to double sample. The left path above is a safe auto path that we had tested many times and used at UIL. However, it doesn't allow us to score the sampled mineral into the lander which would give us 5 extra points during auto. That's why we created a theoretical path seen on the right side that would deposit the team marker before sampling. This allows us to score the sampling mineral rather than just pushing it.

    This is the depot path I was thinking about. Though it looks very similar to the past auto path, there are some notable differences. After the robot delatches from the lander, the lift will simply extend into the depot rather than driving into it. This allows us to extend back and pick up the sampling mineral and score it. Then the robot can turn to the crater and park.

    Next Steps

    One of the crater paths is already coded. Our first priority is to get the depot auto functional for worlds. If we have time still remaining, we can try to do the second crater path.

    Meeting Log

    13 Apr 2019

    Meeting Log April 13, 2019 By Bhanaviya, Ethan, Janavi, Evan, Karina, Justin, Abhi, Jose, BenO, BenB, and Arjun

    Meeting Log April 13, 2019

    Compete at the REV Scrimmage and do final changes on our robot in build and code before Worlds.

    Today's Work Log

    picture of agenda
    • Change code presets
    • The code team worked on changing the presets for the hook-servo and the Superman arm to ensure that the hook was low enough to latch and so that superman is low enough to deposit minerals in the lander accurately. They also lowered the range of the intake so that our intake system can pick up more minerals without causing the robot to collapse from the pressure caused by the intake.

    • Get range of servos and lower the elbow shaft
    • The build team lowered the elbow shaft so that it was at the right level to latch and so that it was parallel to the mounting bar. They also used the servo tester to get the range of servos on the hook to ensure that the hook was able to latch on accurately. They also lowered the elbow shaft so that it was at the right level to latch and so that it was parallel to the mounting bar. They also used the servo tester to get the range of servos on the hook to ensure that the hook was able to latch on accurately. Subsequently, they attached the control hub in the place of the REV expansion hub and the phones.

    • Create a business card
    • Finally, we created a template for a new business card. It will be unvealed at Worlds.

    Today's Work Log

    Team MembersTaskStart TimeDuration
    AllPlanning Meeting2:10.10
    EthanBusiness Card2:002
    JanaviBusiness Card2:002
    EvanLower elbow shaft & Attach Control Hub2:002
    KarinaLower Elbow Shaft & Servo Range2:002
    JustinLower Elbow Shaft & Attach Control Hub 2:002
    AbhiCode Presets2:002
    JoseLower Ekbow Shaft & Attach Control Hub2:002
    Ben OCode Presets2:002
    Ben BLower Elbow Shaft & Servo Range2:002
    ArjunCode Presets2:002
    BhanaviyaLog & Business Card2:002

    REV Beta Test

    13 Apr 2019

    REV Beta Test By Bhanaviya, Ethan, Karina, Justin, Arjun, Jose, Benb, Janavi, Evan, Aaron, Abhi, and Beno

    Task: Test the new REV Control Hub at the REV Scrimmage

    Founders of REV working with our team

    REV recently updated the control hubs they've been providing to FIRST Global for the last two years. They are hoping to get them listed as an option for FTC teams next year and so they wanted to test them with a variety of teams. This latest version has a USB-C connector and some internal component improvements. These control hubs take the place of the REV Expansion Hub + Android Phone combo because they effectively have a quad core android device inside. This should make USB disconnects a thing of the past, though teams using machine vision will need to use an external webcam and that will still require good cable management. All the North Texas teams invited to the beta test were also invited to a scrimmage to drive their Rover Ruckus robots with the control hubs instead of phones.

    We had some initial setbacks due to pre-manufacturing issues with the beta unit we were sent. The control board was set to the wrong address and couldn't be used. Once we got it replaced, the primary robot functions worked well. The only exception was vision. Because we lost so much time we didn't quite finish our OpenCV integration so we couldn't test our mineral sampling vision pipeline. Unfortunately we had to turn in the beta unit at the end of the event so we couldn't profile its vision performance. We plan to do so when we get the newest control hubs in May or June. Despite the setbacks, we found that overall, the control hub made robot control more efficient. The driver control was pretty similar to that of the phones and expansion hubs, but it saved us time in trying to ensure that both the phones and expansion hubs worked. We enjoyed the experience of using control hubs, and we hope to use them next season if they are allowed.

    We are incredible grateful to REV for giving us the opportunity to test of the new control hubs as well as interact with other NTX teams before Worlds. This chance to test the control hub was not only a good opportunity to test the potential of our robot with new technology, but it also gave us the much-needed chance to drive-test in a match with other teams before Worlds.

    Project Management Post-Mortem

    15 Apr 2019

    Project Management Post-Mortem By Charlotte

    Task: Evaluate the Project Manager position

    This year, I started the role of project manager, and there have certainly been plenty of growing pains. Iron Reign had previously learned to embrace chaos, frequently pulling all nighters and fumbling to finish each part of the robot in a timely manner. In this post, I will discuss all of the different aspects to being a project manager on Iron Reign so that we can continue to improve on our organization. The main focus will be the meeting logs, planning sessions, and the Gantt chart.

    • Meeting Logs
    • This year we have completely changed meeting logs. We changed the format to using bullet points rather than long-form, and the way they are told to using feature-benefit language. Feature-benefit describes the what (taking up 2/3rds of the description) followed by the why (taking up 1/3rd of the description). These descriptions are incredibly important to concisely portray our progression to the judges.
    • Planning sessions
    • In previous years, we have had trouble implementing these planning sessions effectively and we still have this difficulty. When there is no project manager present, they don't occur at all and must be supplemented with discussion in the Discord. They have been very helpful in constructing agendas in meeting logs, but next year we are going to push the need for these sessions even more. They make sure that every member has a task to accomplish during the meeting and help remove the pull of distractions. In mentoring the freshmen, hopefully these needs will be met.
    • Gantt chart
    • The Gantt chart has been the most difficult factor of project management to implement. The higher-level organizational mindset required is one difficult to acquire without any close mentorship. Our Gantt chart has seen many changes, especially earlier in the seasom, but dropped off nearing the end of the season due to other responsibilities. Next year, the most important improvement would be to involve other team members in the creation of the chart a lot more than this year. This would help the chart accomplish higher detail and accuracy as well as allow it to be helpful and references by not only the project manager, but the whole team. They will be implemented into the planning sessions

    Next year, there are quite a few improvements to be seen in this role. This was the first year and going in with no previous experience and with the team not used to such a role has been a challenge. Hopefully, most of the mistakes to be made have already been made, and the project manager role in the team can be seen as important to the organization and overall well-being of the team. It requires intense dedication, confidence, and organization, which I have tried my hardest to provide this year, but I have faith that with the amazing abilities of our team, we will improve our organization and project management for years to come.

    Worlds Day 1

    18 Apr 2019

    Worlds Day 1 By Jose, Ethan, Charlotte, Janavi, Abhi, Evan, Karina, Justin, BenB, Bhanaviya, Cooper, Aaron, Arjun, and Paul

    Task: Set up our Worlds pit, complete inspection and judging, and compete in robot game matches

    Presentation

    Our presentation went well. We were able to get all of our information across effectively in a shorter amount of time as usual, but this led to more time for questions , which the judges had a lot of. Throughout questioning, we were able to hand off questions so that no individual member dominated the questioning time.

    One problem we had with the presentation was that the rooms were constructed within the competition hall with fabric, just like last year. This made it so that sound did not carry very well within the rooms, and that sound could carry over from other rooms, so the judges had difficulty hearing us at some points which was especially worse when we spoke too quickly. Despite this, we're confident that the majority of the information came across.

    Match 1(Q12)

    We lost 290-95. Our poor planning led to the drive team having phones with low batteries and being unable to play in the match and Rhoming Robots were unable to carry us in this 2v1 match.

    Worlds Day 2

    19 Apr 2019

    Worlds Day 2 By Jose, Ethan, Charlotte, Janavi, Abhi, Evan, Karina, Justin, BenB, Bhanaviya, Cooper, Aaron, Arjun, and Paul

    Task: Compete in more qualification matches

    Match 2(Q28)

    We lost 340-280. We had a flawless auto this time and followed with 9 far crater cycles and a latch. During the first cycle 3 gold minerals were scores at once with resulted in a 50 point penalty. If we had better visibility of the mineral tray this would have been avoided and the win margin would only have been 10 points.

    Match 3(Q52)

    We lost 322-242. Once again we had a complete auto including scoring the sampling mineral. This was followed by 6 far crater cycles but an attempt for a 7th cycle during end game resulted in a tip over for Icarus and neither us nor Masquerade could hang. If both robots would have hung we would have won by a small margin.

    Match 4(Q67)

    We lost 335-217. Due to technical issues Icarus was forced to be hung for about five minutes and this burnt out both elbow motors. This resulted in no autonomous and only about two cycles. We also had no hang and had to park in the crater. If we were allowed to delatch Icarus while the issues were being resolved we would have won by a large margin.

    Match 5(Q84)

    We lost 272-211. In between matches we were able to buy and replace the elbow motors but they had encoder issues which could not be resolved in time, this meant we had to run on only one elbow motor for this match. With this we were able to have a complete auto and 7 near crater cycles. There was no hang this time so we went for the crater instead. If we had both elbow motors functional we could have scored a few more cycles and hung which would have won us the match by a thin margin.

    Match 6(Q104)

    We [finally] won 315-160. At this point we still haven't fixed the encoder issue but we still pulled off a semi-complete auto since the team marker was not dropped and the sampling mineral was not moved enough to count. The cycles this time were mostly unsuccessful but we hung and Batteries Not Included had enough cycles to compensate and we managed to finally win a match.

    In between matches we took a trip with CartBot to the FLL pits to attract anyone interested in the next stage of FIRST(FTC). We told them they could come by our pit at any time for a in-depth presentation of our robot and about an hour later an FLL team, the Engigears, came to visit our pit. We were able to show them how complex FTC can get and showed them Icarus' capabilities and let some of them drive it around. They had a great experience and we hope they are now informed of FTC and pursue it come 7th grade.

    Worlds Day 3

    20 Apr 2019

    Worlds Day 3 By Jose, Ethan, Charlotte, Abhi, Evan, Karina, Justin, BenB, Bhanaviya, Cooper, Aaron, Arjun, and Paul

    Task: Compete in even more qualification matches

    Match 7(Q121)

    We won 292-280. With the elbow motors fixed we were ready for this match. We had a full auto and 5 successful but hang was not successful and we had to go for the crater again.

    Match 8(Q159)

    We won 240-185. Just as normal we had a complete auto but we were blocked from the crater by Tech Hogs(opponent). Once Tele-op started Icarus was tipped over after bumping into Tech Hogs. Although Icarus is designed to recover from any tip over, a sideways tip is nearly impossible to recover from, however Icarus' chassis was on the crater edge and after about 30 seconds of suspense Icarus recovered and received lots of cheering from the crowd. After this however we got tipped over again by Tech Hogs(whether it was intentional or accidental is yet to decided) and there was no crater edge to save us this time. Despite this RoboEclipse was able to carry the alliance to victory.

    Match 9(Q172)

    We won 370-108. We again had a full auto this time with a deposit of the sampling mineral. we had 6 successful far crater cycles but on the 7th the deposit articulation on Icarus was initiated too early and it tipped over and 20 seconds was not enough time to recover and hang. Even so, the lead we had was good enough to win us the match.

    Worlds Day 4

    21 Apr 2019

    Worlds Day 4 By Jose, Bhanaviya, BenB, Aaron, Cooper, Paul, Arjun, Justin, Karina, Ethan, Evan, Charlotte, and Abhi

    Task: Participate in Alliance Selection and attend the Award Ceremony

    Today was the last of the 2019 FTC World Championship and our first task of the day was to ask top-seeded teams if they thought we would be a good asset to their alliance for the play offs. We intrigued a few with our higher-than-average depot-side cycle time and hoped for the best during alliance selection. Unfortunately our 55th position probably made the alliance captains think again about who to pick.

    A while later followed the award ceremony, we went in with high hopes as we have received many pit interviews throughout the week. Our hopes came true as we heard "the finalists for the Collins Aerospace Innovate Award are ... ... team 6832". The whole team burst into happiness and joy as our unique robot design was recognized at the World Championship. We were finalists for the Innovate Award!

    Discover Summer Fair

    27 Apr 2019

    Discover Summer Fair By Bhanaviya, Ethan, Karina, and Jose

    Task: Teach kids how to program and 3D-model at the Discover Summer Fair

    Students drive-test their newly-programmed LEGO robots

    This Saturday was the Discover Summer Fair organized by the Dallas City of Learning. This was our very first Mobile Tech Xperience (MXP) event to kick off the start of our outreach efforts for the Skystone season. For background, the MXP is a robotics classroom on wheels that our robotics team uses to take to underserved areas around the Dallas region to teach the students we meet there about STEM and robotics. The vehicle is an old 90's RV that our team renovated around 3 summers ago and since then, the vehicle has been maintained by Big Thought, an educational non-profit organization who operates a program called Dallas City of Learning - the vendor for several of our outreach events. During today's event, we had a large turnout of about 500 participants for both the 3D printing station and the sumo robots programming challenge. The purpose of this event was for our team to introduce robotics-based activities like programming FLL robots and 3D-modelling keychains to students in the greater Dallas area who would have otherwise had no access to such activities.

    We started out by setting up the MXP and the EV3 LEGO Mindstorm robots. After ensuring that the MXP was stocked up with laptops and 3D printers, we set up sumo mats, laptops, and LEGO Mindstorms robots in tables outside the vehicle. We wanted to kick-off the first outreach event of the season by demoing our competition robot from the world championship, Icarus, so we had to make sure that Icarus was able to both balance and drive around.

    Between the four of us, there were so many participants that we had made the decision to teach them as a group to maximize efficiency. Making every step of the teaching process - whether it's block-programming a robot or modelling a keychain - as interactive and engaging as possible allowed us to easily communicate with large groups of participants.

    Next Steps

    Our station could not have run as smoothly as it did without the help of Big Thought for helping us staff and maintain the MXP, and for allowing us to introduce FIRST to so many young participants by giving us a booth at the fair. 3D-modelling and programming are, at the end of day, two important concepts encompassed within FIRST. Watching students who had little to no experience with robotics marvel at their keychain designs and their robots coming to life allowed us to see firsthand the impact we were hoping to make with our MXP events - to teach kids of all ages and all backgrounds that robotics was for everyone.

    DPRG RoboRama Prep

    10 May 2019

    DPRG RoboRama Prep By Jose and Paul

    Task: Prepare for the DPRG RoboRama Competition

    Tomorrow Iron Reign is to send out a team of two people to compete at the annual Dallas Personal Robotics Group (DPRG) RoboRama as well as demo Icarus, our competition robot. Our robot, fittingly name Iron Core(as homage to one of the freshmen teams in our robotics program), is to compete at the sumo wrestling portion of the competition.

    For reference, Dallas Personal Robotics Group is a Dallas-based robotics organization that holds mini robotics competitions, talks on the development of personal robotics, and has, on more than one occasion, given our team the opportunity to present to them about computer vision, and FIRST Tech Challenge in general.

    To prepare for the competition, we used an existing Lego EV3 sumo bot that we use for our outreach and Mobile Tech Xperience (MXP) events and modified it with a 3D printed plow. As for code, we took the existing program of going forward and turning and going backwards after detecting the edge of the ring. We modified this code by adding a sensor to detect nearby robot by spinning until they are found, once located Iron Core will go full force towards the target in hopes of winning.

    We also prepared Icarus for demonstration by tuning it as it has taken some damage from our previous competition. Some minor repairs were required but after just a few minutes Icarus was up and running again.

    Next Steps

    DPRG RoboRama Competition

    11 May 2019

    DPRG RoboRama Competition By Jose and Paul

    Task: Compete at the DPRG RoboRama and present Icarus

    Ready and prepared, our two man team came to compete at the Annual Dallas Personal Robotics Group's RoboRama.

    The first event was the sumo wrestling event, it featured a double elimination bracket and five teams total came to compete. In our first match we won, our robot seeking program served us well and eliminated the opposing robot on the first try. Unfortunately, we lost our second match after a long, agonizing battle the opposing robot had more torque than Iron Core and slowly pushed our pride and joy off the playing field. This 1-1 record scored us 3rd place for the event.

    Seeing the event, Quick Trip, a test for accurate movement over long distances, I(Jose) programmed a path for it during lunch. With no time to use a gyro sensor, the path was inaccurate, but this could be fixed with a specific starting position. We finished with a total of 4 points, placing us third.

    Along with competing we got to demo our competition robot for FTC, Icarus, to anyone interested, this included DPRG members and Girl Scout Troop #7711b. We demonstrated its capabilities including the articulations, our FTC season as well as show off "tall mode" which is Icarus with the Superman wheel activated completely and the arms extended completely. Overall most were impressed and appreciated the opportunity to see a functional robot.

    Meeting Log

    08 Jun 2019

    Meeting Log June 08, 2019 By Bhanaviya, Jose, Paul, Aaron, Ben, Evan, Trey, and Justin

    Meeting Log June 08, 2019

    Task: Prepare for the 2019-2020 Skystone season

    Today kicked off our first meeting for the new Skystone season. Since the actual challenge for this year hasn't been released, the most we can do is to speculate what the new challenge might pose, and what we can do to prepare for it.

    Recruitment

    With most of our upperclassmen graduating, the SEM Robotics program needs more members. As the varsity team in our program, we will be responsible for spreading the word about out program in our school - The School of Science and Engineering. This includes making posters, finding a suitable room to host an interest meeting, and planning a presentation to explain the commitments that come with being a part of a FIRST Tech Challenge Team.

    Prototyping leg-drive

    Just like Relic Recovery, we suspect that this year's game will be a stacking game (especially considering the fact that the phrase 'Together we RISE' was stressed in the teaser that was shown at the World Championship last season). A stacking game requires a relatively tall robot (by robot standards anyway), and a tall robot means a leg drive. Leg drive is an idea we've joked around with but summer is also the best possible time to test any impractical ideas. So, Aaron, Trey, Justin and Evan experimented with the leg drive system by prototyping leg propulsion with polycarb "legs". The polycarb pieces were drilled to form a rectangular shape which would extend and contract to propel the drive forwards. After creating the polycarb structures, they implemented rev rails and gears to "rev up" the leg drive system. It's still a prototype for now but it could be implemented into a chassis soon to test if the leg drive system can actually be made into a functioning model.

    Experimenting with grippers

    A good stacking bot also needs reliable grippers. Given our team's track record for exploring multiple build ideas at once, we figured that the new season would have us testing and innovating a good number of gripper systems. Fittingly, Jose and Ben tried out two different kinds of gripper systems. Jose prototyped a parallel gripper bar system. He used polycarb pieces to create the prototype. Two smaller vertical pieces of polycarb were attached onto a horizontal, larger strip to create the parallel gripper system. Ben implemented a loop gripper system onto a small base chassis with 2 omnis and 2 REV wheels. The loop gripper operates when the REV motor spins the gear sprocket attached to a carbon-fibre rod which causes the ziptied-loop to expand and contract accordingly.

    3D-Modelling and CAD Design

    Paul modeled a standard REV for leg drive. This past season, we have used this kind of bracket repeatedly - as such we decided to model it in the case that we choose to incorporate it in our design for the upcoming season. In the case we do decide to experiment with multiple drive trains and gripper systems once the new challenge is revealed, having stock of 3D printed parts would allow us to test out multiple ideas even if we don't have the actual part with us.

    Next Steps

    We've designed 3 prototypes over the course of today's meet so this gives us plenty to test over the next upcoming meetings. However, we are participating in several outreach events over the next few weeks so finding time for testing will be tricky. But if our speculations for a stacking game are correct, we think our build season has gotten off to a good start so far.

    Meeting Log

    08 Jun 2019

    Meeting Log June 08, 2019 By Bhanaviya, Jose, Anisha, Paul, Shawn, Trey, Justin, Aaron, Ben, Mahesh, and Cooper

    Talking Heads: Summary June 08, 2019

    Task: Prepare for the 2020-2021 Game Reveal season

    Today kicked off our first meeting for the new Ultimate Goal season. Since the actual challenge for this year hasn't been released, the most we can do is to speculate what the new challenge might pose, and what we can do to prepare for it.

    Recruitment

    As most of our members have moved on to our Junior year, our team is now primarily upperclassmen-led. This means that within 2 years, we will need to recruit enough members to keep the team sustainable after our graduation. Unfortunately, due to the current pandemic, we will need to ensure that the Iron Reign program has the funding needed to maintain 3 teams in addition to ours. At the moment, our focus has been on keeping our own team viable over the virtual season, and this may mean that we will have to cut back on our recruitment and pick it back up closer to our senior year on the team.

    Outreach

    In an earlier post, we went over the plans for a new mobile learning lab. To clarify, the Mobile Tech xPansion program is owned by Big Thought, a non profit organization dedicated to education, but its outreach events are executed by Team 6832 Iron Reign. During these events, our team travels to low-income areas around the Dallas community with little access to STEM education, and teaches younger students about robotics and CAD to improve their interests in STEM which can sometimes be hard to discover without the access to a strong STEM-based education. Recently, Big Thought approved the plans for funding and expanding this program and our coach was able to purchase a new vehicle for the second, improved version of this Mobile Learning Lab. However, due to the ongoing pandemic, the plans for this vehicle have been put on temporary hold since most of our outreach events happen over the summer. As the count for COVID-19 cases in Dallas has been relatively high, there is no safe way for our team to interact with younger students and teach them hands-on robotics. As such, we will be placing our MXP outreach program on hold until the pandemic has improved (which will be, hopefully, soon).

    3D-Modelling and CAD Design

    Jose has been working on modelling various robot designs in anticipation of the upcoming season. The first is a kiwi drive, with a triangular chassis with 4 omni-directional wheels on each side of the chassis which enables movement in any direction using only three motors. The render of the robot itself is built using custom and goBilda motors. Another design was for an Inspirenc CAD Challenge, which resembled our Superman design from two seasons ago, but with a more rectangular chassis. All of these designs created over the summer will be within their own separate entry - this is merely a summary of our summer progress. Since we don't yet know what the challenge this year will look like, nor how much we would be able to meet in-person in light of COVID19, we plan on starting our build efforts with CAD designs to streamline the engineering process with an online reference in hand.

    Next Steps

    One of the hardest things about this year's season will be trying to cover all our usual grounds virtually since the number of team members who can show up to in-person practices has been severly limited. In the meanwhile, we plan on using our Discord group to map out the skeleton of our new season - journal and CAD will, for the most part, progress business as usual but we'll need to rely on CAD and our planning calls much more heavily to go through with build, code, and outreach. We plan to keep up our pace as a World-class team as best as we can over quarantine, as uncertain as our plans for this season may seem.

    Leg Drive Prototype

    15 Jun 2019

    Leg Drive Prototype By Jose

    Task: Prototype a Leg Drive for next year's (possible) stacking game

    Although most teams go for a traditional chassis, a different type may be needed for next season as speculations suggest a stacking game. A leg drive would be an apt idea to test out for such a game For this chassis, two motors spin their respective "leg" attached to a gear. The point is move the robot using the rotation of the legs rather than wheels. To test, I coded the leg bot using the basic Linear Op-Mode program. There were issues with the motors disconnecting when hitting the ground as their wires physically disconnected. To solve this I took more REV extrusions and attached them perpendicular to the legs, adding space between the ground and the motor. Despite this the leg bot still proves to be unstable.

    Next Steps

    There is a chance we'll have to scrap the design and start with a different one. Leg drive is an interesting idea but actually working with it will probably not be feasible in the near future, especially if the game is a stacking game, since those rely on speed.

    Frontiers Of Flight Museum Outreach

    22 Jun 2019

    Frontiers Of Flight Museum Outreach By Paul, Bhanaviya, Ethan, Justin, Jose, Benb, Janavi, Evan, Aaron, Abhi, and Evan

    Task: Motivate children in STEM fields at the Frontiers of Flight museum

    Janavi teaching kids how to build EV3 Robots

    Iron Reign went out to the Frontiers of Flight museum to promote STEM and robotics. We brought the MXP, and parked it in the main hangar where it garnered much attention from guests. At this event we instructed young children on basic block programming, 3D CAD modeling and EV3 robotics. We interacted with over 300 participants in this event.

    We brought Icarus and Cartbot as a demo of our team's capabilities and to help inspire the children present at the museum. Getting Icarus to work ended up being a whole ordeal, as there were a slew of bugs that had to be ironed out. Cartbot was equipped with our air cannon, to the great amusement of the kids.

    Discovery Faire at the Frontiers of Flight Museum Prep

    06 Jul 2019

    Discovery Faire at the Frontiers of Flight Museum Prep By Jose

    Task: Prepare everything for the Discovery Faire next week

    I(Jose) fixed the battery box and charged the robot phones and batteries so that we could charge Icarus before next Saturday. Next week, Iron Reign is doing a demo of Icarus at the Frontiers of Flight Museum, which will be our largest MXP event. After charging the batteries, I drive-tested Icarus. While it is still functional, it can't balance as well as it did back in Houston. However, some last minute code on the day of the event should be able to solve that.

    Next Steps

    While Icarus is still functional, it can't balance as well as it did back in Houston. However, some last minute code on the day of the event should be able to solve that.

    Discovery Faire at Central Library

    13 Jul 2019

    Discovery Faire at Central Library By Trey, Jose, Bhanaviya, Ethan, Janavi, Charlotte, Evan, and Aaron

    Task: Teach students how to block program and 3D model at the Discovery Faire @ Central Library

    On July 13th Iron Reign attended the 5th annual Dallas City of Learning Discovery Faire at the Central Library. This was our third MXP event where the 250+ kids had access to our 3D printers, Lego EV3 sumo robots, and our four demo robots.

    We demoed 4 of our robots including Icarus, Cart Bot, Kraken, and Argos. Cart Bot was by far the most popular with its can cannon. There were always kids around it, even when we were ready to pack up. Although Icarus had an issue with the superman, we were still able to get it working and show its features to anyone interested as well as Kraken and Argos.

    Over all, the discovery Faire exposed kids to robotics and inspired parents to invest in their child's extra curricular education, furthering the growth of interest in STEM of the community and guaranteeing a future with these kids at the front line. 3D modeling and programming are essential to any FIRST robotics team and by showing them the basics they are likely to explore more about the subject.

    Our booth could not have operated as smoothly as it did without BigThought, for helping us staff and maintain the MXP, and for giving us the opportunity to introduce FIRST to such a large audience. We’d also like to thank Fox 4 Local News for helping publicize our event by taking pictures of the event in progress. We are incredibly thankful for having been able to interact with the next generation of engineers, and giving them a platform to be introduced to FIRST.

    Moonday

    20 Jul 2019

    Moonday By Paul, Abhi, Charlotte, Justin, Janavi, Jayesh, Aaron, Evan, Ethan, and Karina

    Task: Reach out to the community and present at Moonday

    Iron Reign went to the Frontiers of Flight Museum again with the DPRG to represent FIRST and SEM during their 50th anniversary celebration of the Apollo moon landings. This was our 4th year presenting at Moonday, and we interacted with over 300 students from as ages as young as 3 to 14. At this event, we helped to spread the message of FIRST and promote STEM. Cartbot and Icarus were present, as well as 10 members of Iron Reign. During this event, we taught students on how to block-program an FLL EV3 robot and 3D-model a keychain, two skills that are very relevant to both FLL and FTC. The event started at 8 AM at Love Field airfield, where the museum is located, and ended at around 2 in the afternoon. We interacted with many parents and students, talking about robotics, STEM, FTC and FIRST.

    During the event, we shared a booth with the Dallas Personal Robotics Group(or DPRG, for short!). For the past 5 years, our team has presented several of our robot designs and articulations with DPRG, and earlier this summer, we competed in a robotics competition organized by DPRG. As such, we were excited to work with them again. Members of DPRG and the participants at Moonday enjoyed watching our Rover Ruckus competition robot, Icarus, in action.

    The motorized air cannon mounted on Cartbot was also used to great effect, much to the amusement of the younger children. Cartbot itself was also used to great effect to help demonstrate our teams engineering capabilities; driving it around the venue was also admittedly very entertaining for both the drivers and the driven.

    As the summer is drawing to a close, we are thankful to both Big Thought and the Frontiers of Flight Museum for the opportunity to once again present our robots, and to educate the next generations of engineers on robotics. We look forward to returning to these events next season as well!

    SEM Nest Camp

    31 Jul 2019

    SEM Nest Camp By Bhanaviya, Jose, and Paul

    Task: Introduce incoming freshmen to our robotics program

    SEM Freshmen interacting with our team

    Iron Reign was given the opportunity by our school, The School for the Science and Engineering Magnet, to introduce and present our robotics program to the school's incoming batch of freshmen. This event allowed us to share our achievements this past season, talk about what it means to be a FIRST Tech Challenge team, and emphasize Iron Reign being a team for the past decade. Through this event, we were even able to get some hopeful recruits on our sign-up page! We were able to demo both Cart-Bot and Icarus during Nest Camp.

    We also use this event as a chance to introduce our MXP program. In each session, we met with about 20-30 freshmen and we divided these groups such that one would learn to program EV3 robots and the other would learn to 3D-model keychains on the MXP vehicle. Since these are the two main activities encompassed within our MXP events, showcasing them to the freshmen allowed us to talk about our outreach events and exemplify that Iron Reign as a team focused on both robot-game as well as educating our community about STEM and FIRST.

    This event also allowed us to create a connect opportunity. Individuals from Boeing attended and spoke with us at our sessions here which allowed them to see our team in action at an outreach event as well a chance for them to learn about the MXP and our work in bringing STEM to our communities.

    Next Steps

    We are thankful to SEM for giving us the opportunity to present ourselves and the ideals of FIRST Tech Challenge to the next batch of engineers in the Class of 2023. We enjoyed the chance to meet the future members of Iron Reign and look forward to working with them soon.

    Mayor’s Back to School Fair

    02 Aug 2019

    Mayor’s Back to School Fair By Bhanaviya, Jose, and Ethan

    Task: Educate students at the Mayor’s Back to School Fair on robotics

    Students learning to model keychains

    Iron Reign was given the opportunity to present the MXP and its activities at the Mayor’s Back to School Fair. During this event we met with around 260 participants from ages 4 to 12 and were able to teach them about block-programming LEGO EV3 robots and on 3D-modelling keychains. The purpose of this event was to spread STEM programs to students in areas of Dallas were a STEM education was not as prominent.

    This is our fifth year at this event, and it has been our busiest one this season. Alongside our traditional MXP events, we were able to launch cans using the CANnon (pun-intended) to cartbot. Considering the crowd we had at the event, and that the MXP could only hold 10 participants per session, a can-launching cannon allowed us to ensure that participants were able to stay engaged while they waited to board the vehicle.

    During the event, we also met with a representative from the Dallas Innovative Alliance (DIA), a non-profit dedicated to supporting the execution of building Dallas into a city that leaves a legacy of innovation and sustainability for future generations. The representative we spoke with mentioned that the DIA was looking to collaborate with programs dedicated to bringing forth STEM in their communities like the MXP program. As such, we look forward to any future possibilities for working with the DIA.

    Throughout the event, we met several students asked us how they could join a robotics team of their own. Being able to educate such a large group of participants on FIRST and robotics was a gratifying experience for our team and as such, we'd like to thank the City of Dallas for giving us this opportunity. Our fifth year being a part of the Mayor’s Back to School Fair could not have gone smoother, and we look forward to returning again the next summer.

    Letters to Congressional Representatives

    03 Aug 2019

    Letters to Congressional Representatives By Bhanaviya, Jose, and Ethan

    Task: Reach out to congressional representatives in our area to improve the implementation of STEM-based legislation

    This past year at the world championship, the founder of FIRST, Dean Kamen, emphasized how much of an influence reaching out to congressional representatives could have on furthering STEM in a community. Drawing inspiration from Kamen’s speech at Minute Maid Park, where the closing ceremonies were held, we reached out to three congressional representatives in our region - Eddie Bernice Johnson, Colin Allred, and Kenny Marchant. We wrote to them about FIRST, Iron Reign’s achievements and our MXP program dedicated to sharing the lessons we have learnt within robotics to the rest of our community. Specifically, we wrote about bills H.R. Building Blocks of STEM Act and the H.R. STEM Opportunities Act of 2019, and how we as a team could improve our outreach programs to help with the passage and implementation of these bills. Both bills are dedicated to promoting STEM education and careers, with the second one narrowed in on promoting the progress of underrepresented groups in STEM.

    As a robotics team in a STEM school, we know how much our education has impacted us in how we function within the team. In a city like Dallas, where economic and racial disparities are large enough that not everyone has access to the same education that we do, we wanted to build upon our existing efforts to improve communal access to a STEM education. If we receive a response back, we hope for an opportunity to discuss these bills with said representatives to see how Iron Reign could further contribute towards bringing STEM to our communities through our MXP program.

    Sustainability Goals

    17 Aug 2019

    Sustainability Goals By Bhanaviya

    Task: Plan to support at least 3 teams for the incoming Skystone season

    One of the biggest challenges we will face this upcoming season is the fact that 6 of our members graduated just a month ago. This leaves a team of 7 underclassmen and two upperclassmen - a pretty significant difference to last season when these numbers were reversed. Luckily, all of us have had at least one year of experience on being in the SEM robotics program so we know what skills we need to learn to pick up where our seniors left off. These schools include build, programming, CAD modelling and journal. Filling in those niches will be difficult, and adding to this challenge is that our program currently consists of 2 teams - us and our sister team, Imperial Robotics. We also to support at least one freshmen team, Iron Core Robotics, one of the freshman teams in our program from last season. The only difference is that last year, the freshman teams were occupied by us for the better part of our freshmen year. Part of adapting to the new season includes the need for us to step up and mentor any new members similar to how we were mentored when we first joined the program. In order to expand our program, we also plan to hold another recruitment meeting like last year and put up posters around our school. The goal isn't to make our program as large as possible but rather to recruit enough members to keep it sustainable even after we've graduated.

    Next Steps

    We will talk to prospective members from our school on joining the SEM robotics program. Although 6 is a pretty big number of members to lose to graduation, we don't have any immediate plans to take on new members just yet. Our main goal recruitment-wise will be on expanding the overall robotics program, us, Imperial Robotics, Iron Core, and a potential second freshmen team. In order to expand our program, we also plan to hold another recruitment meeting like last year and put up posters around our school. The goal isn't to make our program as large as possible but rather to recruit enough members to keep it sustainable even after we've graduated.

    Fixing Mini-Mech

    23 Aug 2019

    Fixing Mini-Mech By Cooper

    Task: Fix Mini-Mech in time for the Skystone reveal

    In two weeks, Iron Reign is planning on building a robot in 2 days, based on the 2019-2020 Skystone Reveal Video. We've never really built a robot in that short span of a time, so we realized that preparing a suitable chassis ahead of time will make the challenge a lot easier as it gives us time to focus on specific subsystems and code. As such, I worked on fixing up Mini Mech, as it is a possible candidate for our robot in a weekend, due to its small size and maneuverability. Mini-Mech was our 4-wheeled, mecanum-drive,summer chassis project from the Rover Ruckus season, and it has consistently served as a solid prototype to test the early stages of our build and code. I started by testing the drive motors, and then tightening them down, since were really loose.

    Then, I worked on adding a control hub to the chassis. Since Iron Reign was one of the teams who took part in REV's beta test for the control hubs last season, and because we are one of the pilot teams for the REV Control Hub in the North-Texas Region, using a control hub on our first robot of the season will help set us up for our first qualifier, during which we hope to use a control hub.

    Next Steps

    With MiniMech fixed, we now have at least one chassis design to build our Robot in 2 Days off of.

    Online Planning Session

    31 Aug 2019

    Online Planning Session By Cooper, Trey, Bhanaviya, Ben, and Jose

    Task: Brainstorm current and future plans on a google docs and try to switch to Trello

    Tonight we set out to organize our thoughts and projects by laying them out on paper. We started out by listing major topics like 'presentation' and 'build'. From there we filled in with more specific things. Overall we had about 6 sections with 5-6 tasks each. This meant that we could easily import the information to Trello- a business organizing online service that Iron Reign tried to use last year. It failed due to the fact that we used it later in the season, so we hope by starting to use it earlier in the season this year will help. Now that we are using Trello, we can have it open such that people can always know what needs to be done.

    One of the most notable things about the list is that we finally put down solidly which chassis ideas we will be working on, which is Frankendroid (our Robot in 2 Days robot), the unnamed big mecanum chassis, and most interesting a round robot. Iron Reign has a penchant for employing out-of-the-box ideas. So we went as far from the box as we could this season and have decided to build a circular chassis.

    Next Steps

    If we can pull it off, a circular robot will be a pretty interesting chassis design-wise. Such a chassis will require careful planning, so we will need to use Trello to evaluate our next steps which will include modelling the chassis and its dimensions first before beginning its actual build.

    RIP Big Wheel

    01 Sep 2019

    RIP Big Wheel By Paul, Aaron, and Trey

    Task: Tear down BigWheel and harvest parts

    Big Wheel, Iron Reign’s first iteration of our Worlds competition robot Icarus, had been sitting outside in the tent for months and we needed parts for new robots - specifically for our Robot in 2 Days robot. Once the season reveal is released, Iron Reign plans to build a working robot within the weekend of the release. The need for parts was a pressing concern, so it was time for us to part with one of our oldest friends, BigWheel (Icarus, our worlds robot, was off the table because of sentimental value). So we went ahead and scrapped Big Wheel, taking the most important, valuable parts off first, like the bearing slides and arms, then we moved onto the chassis. We worked to break the robot down into parts that we could use on other bots, for this year’s challenge.

    We were able to get a lot of very useful parts off of big wheel, as most of the parts used on big wheel are the same parts that were used on Icarus, and this years challenge makes heavy use of the vertical reach and collapsibility of Icarus, and it makes sense to assume that many of the parts that were used on Icarus will come in handy this year. We hope to implement some of these parts to our Robot in 2 Days robot once the season reveal video is released.

    2019-20 Recruitment

    04 Sep 2019

    2019-20 Recruitment By BenB, Jose, Bhanaviya, Paul, Cooper, Karina, and Trey

    Task: Recruit new members for the 2019-20 season

    Today we held an interest meeting at our campus - Townview Magnet Center. Over 30 people of varying grade levels attended this session, including returning members from Imperial Robotics, Iron Star and Iron Core. Last year Iron Reign lost 6 members to graduation, and since we plan to support two other sister teams in addition to our own, this meeting allowed us to meet potential members to fill in for the skill-sets we lost.

    During the meeting, we talked about what it means to be an FTC team, and the difference between FTC and other robotics programs. We also went over Iron Reign's history as a team, and the different levels of organization within an FTC team such as outreach, build, programming, engineering notebook and presentation. Other topics such as the various time commitment levels for each individual team were also discussed.

    Next Steps

    We plan to invite all interested members to our practices as well as the season kick-off this upcoming Saturday and assign them teams depending on their prior experiences and team preferences.

    FTC Skystone Kickoff

    07 Sep 2019

    FTC Skystone Kickoff By Karina, Bhanaviya, Aaron, Jose, Ben B, Trey, and Cooper

    Task: Attend the kickoff event

    Today Iron Reign attended the FTC 2019-2020 season kickoff event at Williams High School. Team members and prospective members alike turned up to witness the unveiling of this season's challenge. As per usual, we were disappointed by the lack of water in the game, especially considering the amount of water seen leading up to the actual game reveal. Jokes aside, we are excited to tackle the Skystone challenge. You can see the reveal video below:

    (Our robot from Rover Ruckus, Icarus, is featured in the video at 1:10!) There were some things we took away from the conversation prior to the game reveal. For one, we will definitely be using the REV control hub instead of an expansion hub this season, given our bad experiences with OTG cables disconnecting in the past. We also made note of the change in the way tie breaker points are added. The total will be averaged per match played, which will decrease the amount of jumping around teams do in the live rankings.

    We also made some (fairly obvious) strategy decisions, such as the fact that we will not be doing offensive play because we cannot risk the associated penalties. Instead, we will focus on our robot's speed. We also plan to model our capstone after the shape of the stones to make it easier for an alliance partner to stack. Lastly, we will have to move the foundation in the direction that the smaller face of the stones points to minimize the possibility of it falling while maximizing efficiency. We could stack the stones in an alternating pattern, but we would have fewer layers supporting the capstone which would cost us points.

    Part of the reason we needed to brainstorm strategy decisions quickly is because for the first time, Iron Reign is attempting the Robot in 2 Days Challenge. The Robot in 2 Days is usually a challenge taken up by long-standing veteran teams or alumni of those teams wherein they attempt to (and succeed!) at building a functional, coded robot in 2 days after the reveal. We don't think we will have a robot capable of performing all tele-op and autonomous tasks by the end of the weekend but the goal is to build a solid robot that can accomplish at least one tele-op game challenge.

    Next Steps

    Now that we know what kinds of tasks we're facing, we'll be moving forward into the discussion-and-prototyping phase of our Robot in 2 Days challenge. Of course, we'd like to thank REV for giving us a stone! Having at least one game element will make it easier for us to test our subsystems as we attempt to build a robot in a weekend.

    Modelling a Points System

    07 Sep 2019

    Modelling a Points System By Bhanaviya and Karina

    Task: Model a points system for the Skystone Challenge

    A couple hours ago, Iron Reign attended the reveal for the 2019-2020 FTC game - SKYSTONE. Since we intend to build a robot within the frame of this weekend, a points system will allow us to identify what specific parts of the challenge we'd need to solve first. It will also serve as a calculating tool for when we begin drive-testing.

    The points system identifies every aspect of the autonomous, tele-op, and endgame respectively. By plugging in values for each aspect, we will be able to see how many points we will score in total within the frame of one round. Essentially, it is a scoring system but will prove useful for when we start looking for build and code specifics on our robot. It will also allow us to more effectively document our drive-testing, something which we are notorious for neglecting in the past.

    Next Steps

    Once we have a working prototype, we will begin using the points system during drive practice. Since our Robot in 2 Days bot won't by any means be our final design in the weeks leading up to out first qualifier, the points system will come in handy when planning out multiple robot designs. It will serve as an effective tool to help us prioritize our engineering decisions.

    Aaron’s Super Cool Gripper That Works 100% Of The Time

    07 Sep 2019

    Aaron’s Super Cool Gripper That Works 100% Of The Time By Aaron

    Task: Prototyping a rolling gripper

    During the 2 day robot challenge, one of the gripper designs that we built on the first day was Aaron’s Super Cool Gripper That Works 100% Of The Time. While it did work most of the time, it was a bit too bulky to be implemented effectively in the two day period we had.

    The way it worked is by using the flexibility of the ninja flex rollers that we designed last year to slip over the stones, then because of the rubbery ninja flex material, griped on to the stone. Each roller was attached to a servo, allowing us to deposit the stone and rotate it into the orientation we desired.

    Next Steps

    Although the design isn’t near ready to be implemented, it did experiment with the idea of being able to rotate the stone while depositing. Not only that, but it was hinged at the very center on two axis of rotation, allowing for auto stabilization.

    Wheel Gripper

    07 Sep 2019

    Wheel Gripper By Jose and Trey

    Task: Design an intake for the stones based on wheels

    Initial Design: Rolling Intake

    The first idea we came up with for gripper designs during our Robot in 2 Days (Ri2D) challenge was a rolling intake with the wheels coming from the top and spinning to intake the stone. Since the wheels needed to spin they were placed on shafts which required two extrusions since the pillow bracket for them needs to be threaded on the ends of them to make this design compact.This design was rejected since we want to use the minimal amount of servos as possible and we came up with a more compact design that requires only one servo instead of two(one for each wheel).

    Final Design: Gripper Wheels

    This design involves two wheels attached to extrusions, one is idle and can't pivot while the other can be rotated in place by a servo. Once its grip was tested we saw that the wheels spinning was a problem. To fix this, the wheels where attached directly onto the extrusions this time and to enhance their grip, a rubber band was added to default the wheels' position as closed. A servo was added to the end of the main extrusion with a servo horn and polycarb beam to rotate the non-idle wheel back to release the stone in its grip. Finally, since drivers aren't perfect, a stabilizer made out of polycarb was placed in the middle of the gripper so it will always move towards the middle of the stones, in between the stubs. At first this was off by 90 degrees, but this was fixed shortly after.

    Next Steps

    We will have to implement this onto the Ri2D bot and run tests to compare this gripper against our others.

    Robot in Two Days - Day One

    07 Sep 2019

    Robot in Two Days - Day One By Karina, Bhanaviya, Aaron, Jose, Ben, Trey, Cooper, Sam, Sterling, Beau, Mahesh, and Shawn

    Task: Build prototype subsystems that pick up the stone elements

    This season Iron Reign decided to take on the robot-in-two-days challenge. Given that our team had never done this before, and we are primarily a team of underclassmen, we knew we would have to be organized in our efforts and that we would probably reuse old chassis.

    First thing right after the kickoff, the team convened back at our meeting spot to brainstorm ideas for robot designs which you can see above. Among the ideas we discussed was a "cupbot" of sorts, a lot like the designs seen for last years' challenge, except it would be shaped after the tops of the stones. This idea didn't pan out, however, because it would only be able to pick up the stones in the upright orientation, which is not something we can count on. We also had a sub-team prototype a parallel gripper, but it was an unsuccessful build in that it could not actually pick up stones. We did proceed further into the building phase with two designs for a gripper system: a rack-and-pinion gripper and a rolling gripper. One sub-team started on the rack-and-pinion gripper project, while another sub-team started on the rolling gripper project, both of which have separate articles which you can read about in our blog.

    Besides the gripper systems, we also discussed what kind of drive train we wanted to use this year. When we were at the kickoff, we noticed that Icarus's chassis was ideal for moving underneath the skybridges, and so we considered using this chassis for our robot in two days challenge. We also had the MiniMech chassis available for reuse. In the end, we proceeded with the mini mech chassis, which a subteam tuned on day one of the two day build, since it would be easier to add a gripper to the next day, and this earlier in the season, we were prioritizing gripper speed, not traveling speed between the two areas of the field.

    All work and no play? Of course not! Here at Iron Reign we like to have safe and wholesome fun as we work, which we had the opportunity to do when we caught an ice-cream truck driving around the neighborhood. Look at us having such a chill time!

    Next Steps

    To finish the challenge tomorrow, we will complete our gripper builds, choose our best design, and then mount it onto the mini mecanum chassis.

    Rack and Pinion Gripper

    07 Sep 2019

    Rack and Pinion Gripper By Cooper and Aaron

    Task: Build a gripper system for the 2019-2020 Skystone Challenge

    The rack-and-pinion gripper system is one of the 4 gripper systems we built this weekend for our Robot in 2 Days project. Since we’ve never used a rack-and-pinion system before, we realized that it would be a creative idea to start off the new season. Going for simplicity, we made a box such that we could fit 2 racks going in opposite directions, having the pinion in the middle. We constructed the racks with standard rev rails attached to the box with a rev standard linear slide piece and attached tetrix rack gears on the opposite side with double sided tape. Then the pinon was a rev standard gear attached to a rail on the back. The plan was such that when the pinion was turned the two grippers will move outwards and inwards to grasp the stones.

    After that, the actual grippers went through 2 iterations. The first was a straight, flat bladed polycarb sheet attached to the rack. We tried this, but it turned out that did not provide enough friction. The second iteration was a slight variation, where we bent the arms and added rubber foam to the end. This saw some success.

    Next Steps

    Overall, the system was very solid and worked reliably, and could be used in conjunction with a gimbal to make a well performing arm, but that didn't save it. For our weekend build, the rack-and-pinion is too incompatible with our chassis to be implemented in time - but as FrankenDroid (our new robot!) is not the final iteration of our competition robot, the rack-and-pinion gripper system will act as a prototype for any changes we choose to make to our gripper system as the season progresses.

    Mentoring Rookie Team Wattever

    08 Sep 2019

    Mentoring Rookie Team Wattever By Aaron, Bhanaviya, Cooper, Jose, and Ben

    Task: Show team 16296 Wattever how we run our meets

    During our time participating in the robot in 2 days challenge, rookie FTC team 16296 Wattever (that's their name!) stopped by to take a look and get some advice from us. They were brand new to FTC, and came to us since we were a veteran team in the area. We enjoyed sharing with them our previous experiences and season highlights, as well as any and all steps a rookie team could take to ensure that they were ready to start competing in the Skystone season.

    We showed them what tools and materials they would need, skills they would acquire, and priorities that were vital to competing in FTC. Not only that, but we did some discussing of this years challenge, sharing some ideas that may have not come straight to mind. We told them our preferences for kits, parts manufacturers and what kind of projects a rookie team could partake in for the upcoming build season.

    Next Steps

    Overall, they were very enthusiastic about FTC and we were excited to help them out. We had fun introducing them to the gospel of FIRST and we look forward to collaborating with more such teams in our region as the season progresses.

    Parallel Gripper

    08 Sep 2019

    Parallel Gripper By Ben

    Task: Prototype a parallel gripper

    While there are many different solutions and gripper designs, one of the most common is the parallel gripper. The purpose of a parallel gripper is to grip objects, in our case stones, parallel to the object instead of at an angle. Since this was a rational idea to start off with, this was one of the gripper designs we experimented with in the duration of our Robot in 2 Days challenge.

    A parallel gripper would allow us to grip the stones more effectively, as it would grip with more surface area. Theoretically, these grippers work by having 4 bars/connectors which are all the same length. When they close, they close parallel.

    After building the gripper, we tested it with the stones. While it did an okay job at gripping, due to the fact that we didn't use any gripping material, it slipped a few times. Another issue we encountered was that it would be difficult to flip a stone if needed, which is a task other designs could perform.

    Next Steps

    If we decide to pursue the parallel gripper system, we would have to figure out a way to flip a stone so we could stack it, along with improving the grip.

    Ri2D Code

    08 Sep 2019

    Ri2D Code By Jose

    Task: Code a Basic TeleOp Code for the Ri2D bot using pre-existing classes and methods

    As the Ri2D bot nears completion, the need for TeleOp code becomes apparent to actually make it move. Since this robot is based of from MiniMech, a previous chassis design for Rover Rockus, the code was simply inserted into its existing class. To allow its subsystems to move and hold their position when they are not, methods for it to pose were used from the code for Icarus, our Rover Rockus robot. Most of the `PoseBigWheel` class wont be used for this robot, but that's fine since that is as simple as not using the methods not needed, done. The constructor for the `PoseBigWheel` class needed to be modified since there are different motors and servos used, this was easy as we just needed to remove anything we didn't need. Again, most stuff here won't be used, but as long as we don't delete any PIVs we should be fine.

    Once the code for robot posing is made to match the Ri2D bot, we need to implement it. To do this an instance of this class was instantiated in the `MiniMech` class. With that, we can now use methods of the `Crane` class(the one with robot posing) in the `MiniMech` class.

    Now it's time to use these methods from the `Crane` class. Since the elbow and slides are the same from Icarus we can apply these methods directly. These were simple if statements to detects a button press and set the appropriate motor moving using the posing code from the `Crane` class. Instead of using basic `setMotor` commands to get the motors going, pre-coded methods were used, we can now keep the motors in the position where they are placed in the same amount of complexity and with no previous knowledge of how to code robot poseing.

    Finally, we have to code the servos. Since the `Crane` class comes with code for two servos we can advantage of it since the Ri2D bot has only two servos. Although the code for this is a lot simpler since robot posing isn't required here, it is still nice to have values for the open and closed positions stored in a PIV in the `Crane` class if we ever have to change them later. A simple toggle feature was used so one button sets the servo to an open position when closed and vice versa.

    Next Steps

    We could on some robot articulations later on, but a basic TeleOp program is good for now.

    Robot in 2 Days - Day Two

    08 Sep 2019

    Robot in 2 Days - Day Two By Bhanaviya, Aaron, Cooper, Jose, Ben, and Paul

    Task: Finish Robot in 2 Days

    Since the reveal was released yesterday, Iron Reign embarked on a project to build a skystone-specific robot in 2 days. Yesterday was a planning ground, during which we began prototyping 4 robot grippers, and 2 chassis designs. With less than 24 hours to complete our robot, we started today off by getting build-specific decisions out of the way, so that we could narrow in on one robot design to code and work on.

    Of course, we couldn't settle on a decision without first finishing all 4 of our gripper designs. At the end, we had one gripper system that incorporated nylon gears, one that used regular wheels, one that used a rack-and-pinion system, and one that was a parallel gripper system. We decided to settle on the one using standard wheels that pivot to grip onto a skystone. While we haven't yet decided if this will be the same design we will work with in time for our first qualifier, it is a stable system for a robot in two days.

    As far as the chassis was concerned, we stuck to using Mini-Mech, our summer chassis project from the previous year. Since we added a control hub to Mini-Mech earlier in the week, all that had to be done was incorporate the gripper system onto its chassis, and program it to at the very least move and grip onto skystones. This was a lot of work that needed to be accomplished in 4 hours, but as full-fledged members of the Building A Robot The Night Before A Competition Club, working on a small time frame was nothing new to us. In the span of one practice, we finished implementing a working gripper system to Mini-Mech and coded it to move, grab and stack a skystone on the foundation top. We christened our creation FrankenDroid as a testament to this year's Star Wars-based theme and the fact that the robot was made from harvesting parts from our last years' robots, Big Wheel and Icarus.

    Next Steps

    While FrankenDroid's movements are far from being smooth, it is a start. Robot in 2 Days started off as a fun challenge for us - we did not expect to accomplish as much progress as we did in such a short span of time. As of now, we don't plan on using FrankenDroid as our competition robot - but it will be useful for drive-testing, and will serve as a prototype for any future iterations.

    Robot in 2 Days Grippers Comparison

    09 Sep 2019

    Robot in 2 Days Grippers Comparison By Jose and Bhanaviya

    Task: Analyze all our grippers from the Robot in 2 Days challenge

    During the making of our Ri2D we prototyped and designed several gripper designs to collect stones. These designs varied in the method of manipulating the stone, how many servos they required and how compact they are. All of these gripper designs have their own post describing them in detail, but this article summarizes all of these grippers as a way to help us with future gripper designs.

    1) Wheel Intake

    This idea was though of but never built since the design was to have wheels at about ground level to spin and therefore intake the block, the problem being that this would disrupt the other blocks in the quarry since it intaked the block from its short side.

    2) Wheel Gripper

    This design was to use wheels as grip since they have good friction, one set of wheels is stationary and the other set can open and close via a servo. Not compact, but required only one servo and had great grip on the stone. This was ultimately the design we ended up using in our final Robot in 2 Days bot, Frankendroid,since it was efficient in maneuvering and controlling stones and served as a good design for a quick, 2 days old robot.

    3) Aaron's Super Cool Gripper That Works 100% of The Time

    This design used 3-D printed wheels made of ninja flex that spun to intake the block, like the wheel gripper just not in a set position and it grabbed stones from above. This design was huge and required two servos as well as not having much grip.

    4) Rack and Pinion Gripper

    This design involved a rack and pinion closing some polycarbonate sheets to grip the stone. The polycarb sheets had foam for grip, but this was still not enough to even lift the stone, so an actual motor would be required.

    5) Parallel Gripper

    This design was to use a parallel grabber with some material for grip as an alternative to the rack and pinion design. Unfortunately, the parallel grabber wasn’t built correctly thus not parallel.

    Next Steps

    With all of our gripper designs from the Robot in 2 Days Challenge documented, we can now analyze how best we can improve these designs for future gripper iterations, as well as the potential of these designs to be combined to create an entirely new design. Currently, we are leaning towards using the gripper with Ninjaflex gears, which is the 3rd design in this article, once we've fine-tuned Frankendroid's design. We think a rolling intake will work well on our robot so this design is consistent with our idea to use the wheel gripper at present.

    Field Set-Up

    13 Sep 2019

    Field Set-Up By Trey, Bhanaviya, Ben, Jose, and Cooper

    Task: Clean our work space and set up the field

    Today we started preparing for the first meeting with the new recruits. Some of the things we set out to do were cleaning the robot room and assembling the new field for this year's challenge. All of the things we wanted to do had the common goal of making a safe and educational environment for the new recruits.

    Before we started cleaning the robot room was a total mess and the main room was no better. Because the robot room is where the rookie teams work, we set out to clean that first. We tried to put away everything that could pose even the smallest danger like loose parts and tools. Even though we didn't make too much of an effort to organize because we knew it wouldn't have lasted long, we still made the room 100% safer. We also did the same for the main room. Finally, we also filmed the reveal video for the robot in 24 hours; however, that footage is still not edited.

    Next Steps

    We need to ensure that we are prepared to open our meeting to an influx of new recruits tomorrow. Now that the field has been set-up and our robot room has been organized, it will be a lot easier for all new recruits and our 2 teams to work in a shared space.

    Test Driving New Robot

    14 Sep 2019

    Test Driving New Robot By Ben, Jose, and Trey

    Task: Test the "Robot in 2 Days" robot

    Today we were able to drive test our "robot in 2 days" robot. We used our robot from the previous season, Icarus, as our alliance partner. Jose and Trey drove several matches. They were able to score around 40 points consistently. This was a relatively high number considering Icarus was only used as a push bot (it hasn't been adapted to this season's challenge). Jose was able to stack the Stones with precision and accuracy. Because of this, he was also able to do it efficiently. We determined the height of the arm was perfect for the robot, but it could use some finer tuning and adjustments. The hook, which was used to move the foundation, worked well too. One issue we encountered was the loosening of a chain on the front right wheel. Even though it was a simple fix, it did cost several points, as the robot was more challenging to control.

    We were also able to test our robot with our sister team's (Iron Core) robot. Their robot was essentially a push bot too, but provided different challenges for our driver. The core bot was smaller, yet harder to maneuver, especially for newer drivers. This resulted in a loss of points and difficulty operating smoothly. Eventually, both drivers figured it out and were able to score 25-30 points consistently.

    Iron Reign's robot stacks a Skystone while Iron Core's robot pushes a Stone.

    Next Steps

    We will continue to test our robot and fine-tune the arm, chassis, and intake design based on performance. We will also monitor the wheels to ensure they remain adequately attached, to avoid them loosening again.

    New Recruits for the 2019-2020 Season

    14 Sep 2019

    New Recruits for the 2019-2020 Season By Bhanaviya, Karina, Aaron, Jose, Ben, Trey, Cooper, Paul, and Justin

    Task: Train the influx of new recruits

    The recruits learn how to code

    During a robotics interest meeting at our school 2 weeks ago, Iron Reign saw a crowd of around 20 hopeful recruits. Today was our first meeting to introduce the new recruits to our program - during which we encountered 4 returning members to our sister team, and 23 potential new members. Needless to say, practice this week was a little more chaotic than usual but we managed to not only train the recruits, but also take care of some driver practice and journal backlog.

    Of the 23 recruits, 4 had robotics experience and 2 had 3D-modelling experience. Regardless of their previous robotics experiences, however, all recruits made significant progress as they experimented with the new REV kits. Most of our team is compromised of under-classmen, and after a year of watching our older (and significantly taller!) seniors induct us into robotics, it was a new experience to be teaching new recruits of our own this year. We divided the new members into two team of 10 respectively, and the remaining 3 observed and learned on how to use PTC Creo from our lead modeler, Justin. The first team was assisted and taught by several returning members from our sister team Imperial Robotics. They worked on building a differential chassis with the Imperial members. The second team was compromised of entirely new recruits and they worked on building a pushbot using the new REV kits, an initiation ritual that we ourselves had to encounter our freshman year. The first team finished the chassis but is yet to implement any additional subsystems onto it, something they will work on during the next meet.

    The second rookie team finished building a push-bot during their first meet! Of course, they encountered some difficulties in the beginning as there were 10 individuals working with one REV kit. Some challenges they had to encounter included figuring out how to position the extrusion bars, and where to place the push-bot wheels. Several Iron Reign members floated in and out of their work area to provide assistance when needed, and as well as to teach them how to safely operate power-tools. Once they finished building their push-bot, Jose helped them program the robot with sample push-bot code and taught them how to operate the phones and expansion hubs. Although Iron Reign is the only team in our program as of current to be using a control hub, this may change in the future if members on our sister teams are confident enough of their robots to experiment with a control hub.

    By the time the rookie team had a coded, operational push-bot, we accomplished several hours worth of driver practice, which allowed us to play our very first round of the Skystone Season with our new sister team. This also served as a good opportunity for some of the new recruits to learn how to drive and control a robot, a skill that will come in handy as their first qualifier approaches.

    Finally, Iron Reign was able to clear some journal back-log. Our team has been occasionally guilty of abandoning journal articles until the last minute, so we used today's practice as an opportunity to knock out any posts we've held off on. As of now, we are 100% up to date with our blog, and we hope to be more consistent as our practices continue.

    Next Steps

    Although turnout was much higher than we initially anticipated, this practice was a good opportunity to meet the future members of our program. All rookies were advised to come to our Saturday practices regularly so that they could eventually be placed into teams. As this was the first practice of the year for many, we haven't yet identified how many teams we will be hosting but we hope to do so over the next remaining practices.

    P.A.U.L

    21 Sep 2019

    P.A.U.L By Aaron

    Task: Design a new intake system

    The Pivoting Accelerated User-friendly Locker

    After the end of the two day robot build, we had come up with two main gripper designs. One was consistent, however heavy and large, (Wheel Gripper) and one was lighter but wasn’t quite as versatile or controllable (Aaron's Super Cool gripper That Worked 100% of the Time). P.A.U.L (Pivoting Accelerated User-friendly Locker) is the best of both worlds. It’s made out of polycarb so it’s light and somewhat flexible, and its easily controlled by a servo.

    P.A.U.L was originally designed with a hole in the top where a servo could push a small polycarb rod straight down, pushing the stone out of the grasp of P.A.U.L. This might have worked, however we decided that it would most likely be more efficient and easily controllable if we switched to some sort of pivoting mechanism where one side of Paul could be controlled by a servo. The way that works is by fixing one side to an axle that is attached to a gear. That gear is then controlled by the servo on top of P.A.U.L.

    Next steps:

    In the future we plan to test different gear ratios, that way we could figure out the perfect ratio of torque to speed. We want a good amount of torque that way we can grip the stones tightly and securely so they don’t fall out while being jostled around on the field, however in this years challenge speed is going to be very important.

    Skystone Gripper Version 2

    24 Sep 2019

    Skystone Gripper Version 2 By Justin

    Task: Design an Intake Wheel

    The older iteration of the gripper wheel

    Last season, we designed a ninjaflex gripper for Icarus, our World championship robot. This season, we are experimenting with different intake designs. One of our intake designs is Aaron's Super Cool Gripper, which uses the ninjaflex gripper wheels we designed. The problem with this system is that the wheels are very large, and increase the total size of the intake system. In order to shrink the size of the intake, we need to design smaller wheels that will still be able to grip to the side of the stones. We also combined the design of this gripper with the Pivoting Accelerated User-Friendly Locker (P.A.U.L) so the new intake design uses the new gears on the combination of the existing gripper designs.

    Our design consists of a central hub with 8 short flaps attached around it. The design uses similar flaps to last season's design, but there is no ring to support them and the length is much shorter. The width was 2mm, with the circles at the end being 4mm in diameter. When we printed this design the flaps were not stiff enough to maintain grip on the stones. In our second iteration of the gripper wheel we increased the width of the flaps to 3mm, keeping the circle diameters 4mm. We did this to create stronger flaps that would provide more force against the sides of the stones. In addition to this, we also added curves on the edge between the flaps and the central hub to provide more support to the flaps. These two changes made the flaps much stiffer, so now there is much less force required to maintain grip on the stones.

    The newer version of the gripper wheel

    Next steps:

    We need to test this design on an actual intake system. We have a design that currently has last seasons gripper wheels on it. We need to swap the old grippers with our new design, and adjust the size of the gripper to accommodate the smaller wheels.

    TomBot CAD

    28 Sep 2019

    TomBot CAD By Ben

    Task: Design a concept for a circular chassis

    Concept of circular chassis

    A challenge we face this year is running into other robots. Last year, it was possible to easily get around other robots; however, this year it will be difficult to get around other robots, as there will be a lot more cross traffic in the building zone.

    Our solution to this is designing a circular chassis. This will allow us to brush other robots without getting caught. With this, we would be able to move quicker and accurately. We will construct a 17.5in circular chassis. It will be driven by 2 8-in wheels (ironton 8in. Solid Rubber Spoked Poly Wheel) with 2 sets of 4-60mm omni-directional wheels on the front and back of the robot for stabilization.

    Next Steps

    Our next steps are to begin construction of the circular chassis, which has now been named TomBot, after our coach's cat - Tom the Cat. We will begin construction of TomBot by creating a circular template, which will be 17.5in in diameter. We will then trace that shape onto a polycarbonate sheet and cut it out.

    Recruitment Update

    28 Sep 2019

    Recruitment Update By Bhanaviya

    Task: Plan for 30+ influx of team members

    Just like last year, this year has been pretty successful recruitment-wise. We have had 24 total signups, up from -5 last year. In addition to our returning members to our sister team, Imperial Robotics, and the existing members on Iron Reign, this wave of new recruits means that the Iron Reign family must continue growing. So, just as we have done last year, we introducing TWO new teams to North Texas, making us one of the only school-operated NTX teams supporting a total of 4 teams.

    Structure-wise, Iron Reign will remain the varsity team, and as such, will be responsible for tutoring and assisting the other teams, as well as other organizational decisions. Then, Imperial will now be the JV team, and be the intermediate training ground. You can see their efforts over at https://imperialrobotics.github.io/. Then, Iron Core Robotics and Iron Golem Robotics will be freshmen teams and will serve as a good platform for the new members on the SEM Robotics program to understand what it means to be on a first-time FTC team. While we are pretty early on in the season to make decisions on how many members each of the freshmen teams will have, we estimate that they will both have around 7-8 members each. So far, all of our recruits are motivated and show great potential for the future of our robotics program.

    We will deliver tutoring updates and joint outreach events on this blog, as well as our usual content. Everything claimed in this engineering notebook will be Iron Reign (6832) only, and we will hold the same standard of separation to the other teams.

    Next Steps

    We will tutor the new teams and identify the promising recruits. For ongoing tournaments and eliminations, we will recompose new teams of the most promising members. Our goal has been to ensure that the Iron Reign Robotics program is sustainable for years to come and with our 4 teams, we are confident that we will be able to achieve this.

    Fixing the Mechanum Chassis

    05 Oct 2019

    Fixing the Mechanum Chassis By Cooper

    Task: Fix the old mecanum chassis from last year

    Tonight, I worked on fixing the Iron Star robot from last year, since its a viable option for replacement of a chassis if there was ever a problem with ours at a competition. First we needed to strip it down to its bare form and take off the mecanum wheels. After that we took off the Tetrix axle holding blocks, as they were to thick and tall, and we printed out the holders from the minimech robot. We had to cut new axles since the ones that were used were very scarred. from there, the motors were removed and replaced with 20:1 planetary-geared REV motors. Then I attached the mecanum wheels back on.

    Next Steps

    In the future we need to attach the other set of mecanum wheels and add chains to the motors and the wheels. After that, we need to add on the general purpose mounting bracket that we are talking about making so that we can hot swap the subsystems on the fly.

    Preparing for the Meeting with Representative Colin Allred's Office

    05 Oct 2019

    Preparing for the Meeting with Representative Colin Allred's Office By Bhanaviya

    Task: Reach out to congressional representatives in our area to improve the implementation of STEM-based legislation

    This summer, our team reached out to three congressional representatives in our district - Colin Allred, Eddie Bernice Johnson and Kenny Marchant. We emailed to them letters detailing our Mobile Tech Experience Program (MXP), our accomplishments over the Rover Ruckus season, and how our team has dedicated itself towards promoting STEM education in underserved areas of Dallas.

    This week we received an email back from Representative Allred's office and they agreed to our request for a meeting with a member of their staff. The meeting will occur next week, during which we will discuss a bill pertaining to STEM education - more specifically, the H.R. Building Blocks of STEM A Act. This bill was passed this summer, after our correspondence to Allred. The H.R. Building Blocks of STEM is about improving female participation in STEM and in improving STEM education for younger children. As such, our meeting will focus more on discussing how best to implement the contents of the bill and how we can improve the MXP program to collaborate with Allred's office.

    Next Steps

    We are incredibly thankful to Representative Allred's office for giving us the opportunity to discuss STEM education with them. We look forward to the meeting next week.

    Presenting to Representative Colin Allred's Office

    10 Oct 2019

    Presenting to Representative Colin Allred's Office By Bhanaviya, Karina, Jose, Aaron, Cooper, Trey, Ben, Paul, and Justin

    Task: Meet with Representative Colin Allred's office to discuss FIRST robotics and STEM-based legislation

    Today, we presented to Mr Andrew Krause of the 32nd District Representative Colin Allred's office to increase awareness of FIRST and the STEM Outreach that Iron Reign has done in the community. Last year at World Championship in FIRST, the founder of FIRST Dean Kamen emphasized the importance about reaching out to our local representatives to spread the word of FIRST. So, our team reached out to Representative Allred's office, and they agreed to our request for a meeting!

    The legislative bill we wrote about in the email to their office was the H.R. Building Blocks of STEM Act. This bill focused on improving teacher training for STEM educators, increasing funding for STEM-based extracurriculars, and in reforming STEM based education to draw more girls to STEM. As a robotics team coming from a STEM-based school, all of these are issues that we care deeply about, and are issues that we have the privilege to address. During the meeting with Mr Krause, we brought up the National Science Teaching Association (NSTA) Convention that Iron Reign presented at 3 years ago to highlight the importance of STEM teacher training. We also discussed STEM Spark since it was an all-girls event wherein Iron Reign taught middle-school girls how to code and 3D-model.

    We were also able to bring our mobile learning lab, the Mobile Tech Xperience (or MXP, for short) to the meeting. The representatives we met with enjoyed boarding the vehicle to get a first-hand look at the activities we teach during our outreach events. We talked them through the actual process of how the MXP itself was built as well as the plans for its future expansion.

    Next Steps

    Although the Building Blocks of STEM Act was the bill we had reached out to the office about, our main goal for the meeting was to find ways to collaborate with Representative Allred's office to better spread STEM in our community. As students from a STEM-based school, we know that we are privileged in terms of opportunity, and through our existing outreach programs, we hoped to better spread that opportunity to other students in the Dallas community. At the end of today's meeting, we discussed the possibility of members from the Representative office being present at our school-hosted qualifier and our future outreach events. We are thankful for the opportunity to have gotten to present to Mr Krause and we hope to further collaborate with Representative Allred's office in planning our outreach events.

    Gripper Testing

    10 Oct 2019

    Gripper Testing By Paul and Justin

    Task: Test block gripper

    Here is us testing the gripper we designed to pick up the blocks in this years SkyStone challenge. This gripper combines the Pivoting Accelerated User-Friendly Locker, P.A.U.L, one of our earlier gripper designs, and Aaron's Super Cool Gripper, a design from our Robot in 2 Days Challenge. It has a backplate similar to that of P.A.U.L's but instead of polycarb flaps, it utilizes the smaller Ninjaflex gears (a smaller version of the gears on Aaron's Super Cool Gripper) that Justin modeled so it is essentially a combination of our best design ideas so far. It doesn't have a name yet so it will be called P.A.U.L Version 2. It was mostly effective in picking up the blocks, however we need more structural rigidity to ensure that the blocks don't rotate while being picked up.

    Next Steps

    Next steps include reinforcing the gripper frame, and mounting it to our prototyping robot. We also need to cut off the excess rev rail, to reduce weight and make it a little less bulky.

    Autonomous and TomBot Robot

    11 Oct 2019

    Autonomous and TomBot Robot By Karina, Jose, and Bhanaviya

    Task: Autonomous coding and TomBot progress

    DISD students have been blessed with a long weekend, which we plan to take full advantage of as our first scrimmage is closing in. Just as we started to test drive Frankendroid, we began to notice some faults with the robot. Lots of these were common errors, which can likely be attributed to the fact that we sped through the building of Frankendroid very quickly. For one, we left off a lot of pulleys on our belt and pulley system, which left the entire thing very loose and in need of tensioning. We also had an issue of bearings slipping out of their sockets for the gripper's elbow attachment. We promptly made sure that the axle and belt systems were set up properly.

    So far, much of the team's focus has been on building a robot, and we're just now getting around to coding. So besides tuning up Frankendroid, we took a look at our autonomous program. To start, we drew an auto path (version 1). Then, considering Iron Reign already has a large code base from all its years doing FTC, we copied the pre-existing minimech code to start the code for Frankendroid. In terms of the drive train, Frankendroid is pretty standard with four mecanums in a rectangular shape, and so the hardware map was the same. We had some null pointer exceptions due to calls to nonexistent motors, sensors, etc. Additionally, the motor behaviors were not working such that doing the controls to move forward and backwards actually made the robot strafe, and strafing commands made the robot rotate. All of this was fixed in code. Afterwards, we calibrated

    Lastly, we did build work on our work-in-progress TomBot. From wheel to wheel, the span was too great to fit within the polycarb frame we had previously cut. Everything (wheels, motors, extrusions) had to moved closer together on the main axle, and then centered. The two center extrusions intended to be a point of attachment to the polycarb frame extended past the perimeter of the frame, and so these had to shortened with a hacksaw.

    Next steps:

    Our code team is now gearing up for an intensive two weeks of writing and fine tuning code for the robot. Drivers will take this opportunity to practice driving and become familiar with controlling Frankendroid.

    FrankenDroid - TPM Calibration

    11 Oct 2019

    FrankenDroid - TPM Calibration By Jose, Cooper, and Bhanaviya

    Task: Calibrate FrankenDriod's Ticks Per Meter in preparation of programming autonomous

    Today we worked on the calibration of FrankenDriod's TPM. This is used to accurately and precisely move during autonomous by having a conversion factor between a given distance and the unit ticks, which is used in the code. This was done by commanding FrankenDroid to move forward 2000 ticks. Of course this wasn't a meter, but the distance it did travel(in centimeters) was divided by 100 and multiplied by 2000(estimate used above) to get the approximate TPM. After a few times of getting the number of ticks perfect, we got it exact to the centimeter. This was also done for strafing and with that we now have an exact TPM that can be used when programming autonomous.

    Next Steps

    Now for the fun part, actually programming auto paths. These will be planned out and coded at a later date.

    Beginning Auto Stone

    12 Oct 2019

    Beginning Auto Stone By Cooper and Karina

    Task: Design an intake for the stones based on wheels

    Initial Design: Rolling Intake

    We've been trying to get our start on autonomous today. We are still using FrankenDroid (our R12D mecanum drive test bot) because our competition bot is taking longer than we wanted. We just started coding, so we are just trying to learn how to use the statemachine class that Arjun wrote last year. We wanted to make a skeleton of a navigation routine that would pick up and deposit two skystones, although we ran into 3 different notable issues.

    Problem #1 - tuning Crane presets

    We needed to create some presets for repeatable positions for our crane subystem. Since we output all of that to telemetry constantly, it was easy to position the crane manually and see what the encoder positions were. We were mostly focusing on the elbow joints position, since the extension won't come into play until we are stacking taller towers. The positions we need for auto are:

    • BridgeTransit - the angle the arm needs to be to fit under the low skybridge
    • StoneClear - the angle that positions the gripper to safely just pass over an upright stone
    • StoneGrab - the angle that places the intake roller on the skystone to begin the grab

    Problem #2 - learning the statemachine builder

    I've never used lambda expressions before, so that was a bit of a learning curve. But once I got the syntax down, it was pretty easy to get the series of needed moves into the statemachine builder. The sequence comes from our auto planning post. The code has embedded comments to explain what we are trying to do:


    Problem #3 - REV IMU flipped?

    This was the hard one. We lost the last 1.5 hours of practice trying to figure this out, so we didn't get around to actually picking up any stones. We figured that our framework code couldn't have this wrong because it's based on last year's code and the team has been using imu-based navigation since before Karina started. So we thought it must be right and we just didn't know how to use it.

    The problem started with our turn navigation. We have a method called rotateIMU for in-place turns which just takes a target angle and a time limit. But the robot was turning the wrong way. We'd put in a 90 degree target value expecting it to rotate clockwise looking down at it, but it would turn counter clockwise and then it would oscillate wildly. Which at least looked like it found a target value. It just looked like very badly tuned PID overshoot and since we hadn't done PID tuning for this robot yet, we decided to start with that. That was a mistake. We ended up damping the P constant down so much until it had the tiniest effect and the oscillation never went away.

    We have another method built into our demo code called maintainHeading. Just what it sounds like, this lets us put the robot on a rotating lazy susan and it will use the imu to maintain it's current heading by rotating counter to the turntable. When we played with this it became clear the robot was anti-correcting. So we looked more closely at our imu outputs and yes, they were "backwards." Turning to the left increased the imu yaw when we expected turning to the right would do that.

    We have offset routines that help us with relative turns so we suspected the problem was in there. however, we traced it all the way back to the raw outputs from the imuAngles and found nothing. The REV Control Hub is acting like the imu module is installed upside down. We also have an Expansion Hub on the robot and that behaves the same way. This actually triggered a big debate about navigation standards between our mentors and they might write about that separately. So in the end, we went with the interpretation that the imu is flipped. Therefore, the correction was clear-- either to change our bias for clockwise therefore increasing in our relative turns, or to flip the imu output. We decided to flip the imu output and the fix was as simple as inserting the "360-" to this line of code:

    poseHeading = wrapAngle(360-imuAngles.firstAngle, offsetHeading);

    So the oscillation turned out to be at 180 degrees to the target angle. That's because the robot was anti-correcting but still able to know it wasn't near the target angle. At 180 it flips which direction it thinks it should turn for the shortest path to zero error, but the error was at its maximum, so the oscillation was violent. Once we got the heading flipped correctly, everything started working and the PID control is much better with the original constants. Now we could start making progress again.

    Though, the irony here is that we might end up mounting one of our REV hubs upside down on our competition robot. In which case we'll have to flip that imu back.

    Next Steps

    1)Articulating the Crane- We want to turn our Crane presets into proper articulations. Last year we built a complicated articulation engine that controlled that robot's many degrees of freedom. We have much simpler designs this year and don't really need a complicated articulation engine. But it has some nice benefits like set and forget target positions so the robot can be doing multiple things simultaneously from inside a step-by-step state machine. Plus since it is so much simpler this year and we have examples, the engine should be easier to code.

    2)Optimization- Our first pass at auto takes 28 seconds and that's with only 1.5 skystone runs and not even picking the first skystone up or placing it. And no foundation move or end run to the bridge. And no vision. We have a long way to go. But we are also doing this serially right now and we can recover some time when we get our crane operating in parallel with navigation. We're also running a .8 speed so can gain a bit there.

    3)Vision- We've played with both the tensor flow and vuforia samples and they work fairly well. Since we get great positioning feedback from vuforia we'll probably start with that for auto skystone retrieval.

    4)Behaviors- we want to make picking up stones an automatic low level behavior that works in auto and teleop. The robot should be able to automatically detect when it is over a stone and try to pick it up. We may want more than just vision to help with this. Possibly distance sensors as well.

    5)Wall detection- It probably makes sense to use distance sensors to detect distance to the wall and to stones. Our dead reckoning will need to be corrected as we get it up to maximum speed.

    Discuss the Impact of Our Robot in 2 Days Reveal Video

    12 Oct 2019

    Discuss the Impact of Our Robot in 2 Days Reveal Video By Bhanaviya

    Task: Analyze the viewer statistics of our Robot in 2 Days Reveal Video

    2 hours after the challenge reveal for Skystone, Iron Reign kicked off the new season with a new robot - FrankenDroid. It's been one month since then and FrankenDroid has undergone several significant build and code changes (to be revealed in our next few blog posts!), and the video we posted on our youtube channel, Iron Reign, has reached over 2K views. The whole purpose of the video was to inspire teams who were having trouble coming up with build designs for their robots. As a team who's had its fair share of build challenges, we know how Robot in 2 Days videos can be pretty helpful to look at when starting off the new build season.

    As shown above, the release of our video led to our channel receiving over 3,300 views and has a watch time of 7,033 minutes. This is an instance of online outreach and is the primary reason why all our journal articles and videos are public. The NTX region itself is pretty large compared to many other regions competing in FIRST, which makes for teams with active build seasons. Posting videos of this sort allows our team to share our build progress to the rest of the FIRST communities world-wide who may not be as expansive as the North Texas region is.

    Next Steps

    We hope our video was helpful for any teams starting off the new build season. We look forward to posting another reveal video once our robot for competition is ready.

    Auto Path 1

    12 Oct 2019

    Auto Path 1 By Karina and Jose

    Task: Lay out our robot's path for autonomous

    To kick off our autonomous programming, Iron Reign created our first version autonomous path plan. We begin, like all robots, in the the loading stone, its back to the field wall and with our intake arm upwards. We approach the line-up of stones and deploy the arm to its intake state over the last stone. At the same time, we have the wheels of the gripper rotating for a few seconds. The, we back up directly. Using IMU, our robot rotates 90 degrees, and then crosses underneath the skybridge to the building zone. About 1 foot past the end of the foundation closest to the bridges, we rotate again to the right and then deposit our stone. Afterwards, we retract the intake arm, back up, and then park underneath the skybridge.

    Next steps: Improving autonomous by testing

    The autonomous we have now is very simple, but this is only our first version. There are multiple steps that can be taken to increase the amount of points we score during autonomous.

    In testing, I've noticed that (depending on how successfully we initialize our robot) the stone we pick up during autonomous sometimes drags on the ground. This creates a resistive force that is not healthy of our intake arm, which is mounted on the robot by a singular axle. To fix this, we can add code to slightly raise the arm before we began moving.

    Eventually, when multiple teams on an alliance have an autonomous program, our own path will need to account for possible collisions. It will be strategic to have multiple autonomous paths, where one retrieves stones and places them on the foundation, while the other robot positions itself to push/drag the foundation to the depot.

    Also, our autonomous path is geared toward being precise, but going forward into the season, we will need to intake and place more stones if we want to be competitive. As well, we will need to use robot vision to identify the skystone, and transport that stone to the foundation, since this earns more points.

    TomBot Progress

    12 Oct 2019

    TomBot Progress By Karina, Justin, and Trey

    Task: Start assembling the TomBot chassis

    Today we made some progress on our round robot. We moved the rev rails and big wheels on the Bigwheel chassis to be able to fit inside the polycarb circle that we previously made. These movements gave us a good idea of where to position the rev rails, but the wheels were too close to the edge of the circle, to the point where cutting rectangular slots for the wheels would extend the slots outside of the edge of the circle. To correct this, we decided to first cut the slots, then adjust the wheel distance on the old chassis to fit the cuts.

    To cut the slots we first needed to make a template to map out where to cut. We did this on a circular piece of cardboard the same size as the polycarb. After two attempts at aligning the rectangles, we transferred the template onto the polycarb and cut them out with a jigsaw. We planned to round the edges of the rectangular slots to match the shape of the wheels, but an error during the cutting process caused only the outside edges of the rectangles to be rounded.

    Next we needed to mount the rev rail chassis to the polycarb circle and adjust the wheels to fit the new slots. One problem with the chassis is that the rev rails were positioned so that the wheels would sit towards the rear of the robot. After repositioning the rev rails, we marked and drilled holes, then mounted the chassis to the polycarb. TomBot now has the 2 big wheels

    Next steps:

    We need to add the 2 sets of omni wheels to the front and back of the robot to keep the base flat. We should build a basic wheel mount and design a 3d printed mount. The printed mount would be able to flex to soften to force of the robot on the chassis. The motors also need to be chained to the wheels.

    Dr. Woodie Flowers, in Memoriam

    12 Oct 2019

    Dr. Woodie Flowers, in Memoriam By Jose, Bhanaviya, Justin, Paul, Trey, Cooper, Ben, Aaron, and Karina

    Task:

    As most people in the FIRST community know by now, Dr. Woodie Flowers passed away on October 11th. As a team who has met Dr. Flowers twice at the FIRST Championship, this saddened us greatly. Dr. Woodie Flowers was an MIT and Louisiana Tech Alumni, college professor, husband and co-founder of FIRST robotics. Launched in 1989, FIRST was created to inspire kids of all ages to find STEM as a fun, engaging and learnable concept. Ever since its founding, Dr. Flowers was an actively-involved member of the organization. He introduced innovative ways to encourage non-STEM motivated kids to the program, and introduced core values to make FIRST an all-inclusive, one-of-a-kind environment. He coined the term "Gracious Professionalism" as a way to persuade everyone to be competitive while also being respectful to themselves and their opponents. Today, FIRST has become a community - one where students of all ages, nationalities, and skill-sets have learned to make robotics and STEM a crucial part of their lives. From creating one of the most popular robotics classes in MIT, to co-founding one of the longest-lasting robotics programs in the world, Dr Woodie Flowers was a man who had dedicated almost his whole life to inspiring the new generation of inventors. His contribution to FIRST is what inspired many teams, including ours, to spend the better part of our schooling towards learning and spreading the influence of robotics to our communities. Rest in peace Dr. Flowers, you will be missed by us all.

    Coding 10/19/19 (Putting meat on the skeleton)

    19 Oct 2019

    Coding 10/19/19 (Putting meat on the skeleton) By Cooper

    Task: work on actually filling out the auto

    As seen in the last post, the skeleton of the auto was done. Tonight My goal was to fill it out-- make it do the things it needs to at the points based on the skeleton. This Would have been a bit more automated had we put a distance sensor on the robot, as I could just tell it to do certain actions based on how far it was from something. Without that, all I could do was hard code the distances. This took most of the time, but was efficient since I did it in stages.

    Stage 1 - The blocks

    My first task was to pick up the first block in the quarry line. I started by going forward and estimating the amount I needed to go, then went into the arm. I needed to make sure that when I went forward, I would go over the block just enough that I didn't move in when moving, but low enough to be able to be picked up with relative ease. So I ran a teleop version of this and got the value for the arm above the block, grabbing the block and just low enough to clear the bridge, a value I'd need later. Then I did trial and error on guessing the distance to the block until the grabber was in position just over the block. Then I ran into a little issue. I wanted to run the intake servos while I put the arm down, but in the StateMachine class, we can only have one action happening at a time per StateMachine object. Therefore, I just set it to run the servos after the arm was put down.

    However there was a separate issue concerning that as well. In the intake method, we assign a value to our servo PIVs to control the speed at which they run. This is how you are supposed to do that, the only problem is that that by itself is not compatible with our StateMachine. As we use Lambda functions, the code runs through the lines of .addState() repeatedly until the method call in the method call in that .addState() call returns true. For starters, we had to change the output method to return a boolean value. But isn't it, as if it was left as that, the lambda funtion would always get back a false from that .addState(), and be stuck like that until we stop it. So, I looked back on the old code from last year, and with the help of Mr.V, we found a .addTimedState() method. This takes in a method like a normal .addState() method, but a time to complete can be assigned. With the intake method always returning false, it means that the servos would run until the end of the time set and then it would end that action and move on to the next.

    Stage 2 - The deposit

    So, after the bock was picked up, the robot was told to turn to the other end of the field, where another set of estimations were used to move forward. This is where the value of just clearing the bridge came to play. To get under the bridge, we have to hold the block and arm in a certain position. After the bridge is cleared, the arm is set to move back up so when we turn to face the build plate, we could deposit. Now this was interesting. As hard as I tried I could not get the deposit to work reliably, but some of the accidental effects gave me ideas for how to get the most efficient way of placing the block. On one of the runs, the block was set down and it didn't quite sit where it needed to, as to say it was tilted back away from the robot. This led to the arm knocking it back into the correct place. I think this is a great way to have a more catch-all way make sure that the first block is correctly placed. I would have expanded on the idea, but I had to leave soon after.

    Next Steps

    I need to test more efficient paths for this auto, but other than that, I just need to finish this version of the auto for the scrimmage.

    Investing in a CNC Router

    20 Oct 2019

    Investing in a CNC Router By Bhanaviya

    Task: Invest in a CNC router using our grants from the previous season.

    Last year was a very successful season for Iron Reign, financially speaking. We earned around $11,000 in grants and funding from FIRST in Texas, Texas Workforce Commission and Mark Cuban, to name a few sponsors. In addition, this year we received a $200 Gobilda product grant. Most of this money was invested in last season's expenses. But as we found out over the course of our build season, our team incorporates a wide number of 3D-printed parts into our robot, and especially since we were recognized for our design process at the Houston World Championship through Innovate Award Finalist, our design process was one that we could further improve now that we've seen the level of competition at Worlds. Part of this includes using a variety of materials, as illustrated in previous seasons where we've used ice-cube trays and turkey-coolers into our robot's subsystems. So, what better way to improve our design process and spend our grant money than in investing in a CNC router?

    The router itself cost around $3000, and while this isn't cheap, it's a good investment since it now allows to cut our parts out of durable, inexpensive materials like aluminum and wood. So far, we have plans to use the router on the mounting under the turn-table of our robot and a logarithmic spiral that is being modeled to reduce the torque on our linear slide system. There's no end to how much this router can influence our overall design process. Our team is used to using Ninjaflex-printed parts but with the router, we can be more creative with the use of 3D-modeled parts on our robot.

    Next Steps

    Now, we can begin cutting the above-mentioned parts on the router once they've been fully modeled. We can also begin deciding what other parts need to be modeled that can easily be cut on the router.

    Control Mapping

    25 Oct 2019

    Control Mapping By Bhanaviya and Cooper

    Task: Map and test controls

    With the Hedrick Middle School scrimmage being a day away, the robot needs to be in drive testing phase. So, we started out by mapping out controls as depicted above.

    Upon testing the controls, we realized that when the robot attempted to move, it was unable to do so without strafing. To fix this issue, we decided to utilize a "dead-zone" of the left joystick. The dead-zone is a range of values in our code that is basically ineffective. Although this meant that that the zone did not have a purpose, we realized that its uselessness could be rendered to stop the robot from strafing. Although we do plan to implement strafe later on in our actual competition robot (TomBot), for the duration of the scrimmage, the deadzone in Frankendroid's (our scrimmage robot) controls will hold the set of values for strafe so that the robot cannot strafe at any point in time during the scrimmage. This will give our drivers more control over the robot during matches.

    Next Steps

    We plan to drive-test at the scrimmage tomorrow to ensure that the robot can move accurately without strafing. Once we begin code on Iron Roomba, we plan to orient strafe in such a way that it does not interfere with the rest of the robot's controls. At any rate, the dead-zone has given us a possible solution to work with if the strafe issue occurs on our competition bot.Since this is the control map for our scrimmage robot, we anticipate that the controls will change once Iron Roomba is further along in the engineering process. A new post featuring Roomba's controls will be created then.

    Driving at the Hedrick Scrimmage

    26 Oct 2019

    Driving at the Hedrick Scrimmage By Karina and Jose

    Task: Figure out what went wrong at the scrimmage

    We didn't do too well in teleop driving at the Hedrick Scrimmage, with our max stone deposit being 2 stones. There are several things to blame.

    In usual Iron Reign fashion, we didn't start practicing driving until a day or two before. Since we were not familiar with the controls, we could no perform a maximum capacity.

    There were also more technical issues with our robot. For one, the arm was mounted wihh little reinforcement. Small amounts of torque provided when dragging a stone across the floor gradually made it so that the line of the arm was not parallel to the frame of the robot, but slightly at an angle. And so, picking up the stones manually was not as straight forward a task as it should have been.

    This flaw could easily have been corrected for if Frankendroid could strafe. Frankendroid struggled with this. When extended, the weight of the arm lifted the back wheel opposite the corner on which the arm was mounted on off the ground. Thus, strafing to align with a stone when the arm was extended was a lengthy and tedious task.

    Next steps:

    Frankendroid has served its purpose well: it moved at the scrimmage and gave the team a better feel for the competition environment. But it's time to let go. Moving forward, Iron Reign will focus its efforts on building our circular TomBot Ironically, we will likely have to deconstruct Frankendroid to harvest parts.

    First Season Scrimmage at Hedrick MS

    26 Oct 2019

    First Season Scrimmage at Hedrick MS By Trey, Bhanaviya, Ben, Jose, Justin, Aaron, Karina, and Cooper

    Task: Compete and observe important things needed to continue the build of circle robot and for future competitions.

    This Saturday Iron Reign attended the scrimmage at Hedrick Middle School. This scrimmage was for many rookies, the first exposure to a competition environment and the basic structures of team communication. Both the rookies and the returning team members had an opportunity to communicate with different teams and to get exposed to different ideas and their respective thought processes. Iron Reign used this scrimmage as a way to look at what robot designs were most effective and a lot of key aspects of the game we may have glossed over earlier in the season.

    Many things determined a robot's effectiveness, for example, we noticed that the robots in the competition that did the best were the ones that had the most direct routes and were able to manipulate the stones efficiently and effectively. We also noticed that positioning and placing the stones on the towers was very difficult for us and the teams without programs that automatically line up the stacks. This strengthens our need for circle robot which when finished should be able to stack with much more precision than the average robot. The other thing that the circle robot would help with is lining up the arm to pick up stones which also proved to be very challenging for teams with grippers that need to grab a block in a certain orientation like us.

    There were a lot of unexpected penalties that can change the tides of a game, for example, the human player can not place an object in the quarry if there is already an object in it. Doing this awards 15 points to the opposing team. Another thing we learned is that to receive the points from delivering a stone the robot must fully cross over the tape under the bridge. A lot of people with push-bots lost points because their robots didn't fully cross the tape. Overall, penalties and losing points were easy ways for a team to lose a match quickly and if we don't watch what we do we can potentially lose an entire competition because of them.

    Next Steps

    Our next steps are to keep working on the circle robot because it should be able to better complete the challenge. We also see like never before that even though this robot is not done, we still have Frankendroid and we still need to perpetually do driving practice with it because ultimately, the best teams will have the most driving practice. However, the biggest next step we are taking is that we are coming to practice more often because our first qualifier is so close but we are so far from a good robot. There is still a lot of work to do.

    Coding Before Scrimmage

    26 Oct 2019

    Coding Before Scrimmage By Cooper, Karina, Bhanaviya, and Trey

    Task: Finish the temporary auto and work with drivers for teleop

    Tonight, the night before the scrimmage, We worked on making the depositing of the stone and parking of the robot more reliable. Or as reliable as possible, as we are planning to use FrankenDroid, which is somewhat in need of repair, which I also did with the help of Trey, Bhanaviya and Karina. This had a few changes come with it, as while we solved the problems of when we started the auto, there were still many that cropped up.

    Problem #1 - dragging the base

    In the auto, we need to drag the build area into the taped off section in the corner. This poses a problem, as dragging it can lead to major inaccuracies in estimated positioning. This, however can be solved somewhat easily once we have a distance sensor, which we could use in junction with PID based turning. Though in theory I could have done it with just the PID turning. While I would have loved to test that, there was another problem--

    Problem #2 - problem with hook

    There was a problem with our hook. I tried every time I ran auto to get the hook to work. I changed the return value, I changed the physical positioning of where it started, yet nothing worked. This was interesting, as it does work in the teleop. In any case, it prevented us to actually dragging the base in this version of auto. Looking back on it, there was a possibility that I needed to set it as a timed state, like the gripper, since we were using a servo to control it. While its unlikely, it's possible.

    Problem #3 - PID Tuning?

    This was the major issue of tonight, which we haven't found the root of just quite yet. During the auto, at the third turn, where the robot turns to heat to the foundation, there is a ~25% chance that the PID does not check where it turns and it just continues wherever it turns to. This usually leads to it overshooting and then ramming in to the wall. There is a temporary fix, however. For now, it seems that if only happens after we upload the code to the robot, or if we run auto fresh off of it being off. That is to say, if we run the auto at least for a second and then reset and re-init, then it will be good. This is a good thing however, as any chance we get to fix the underlying code's problems, that means we won't have to make a work around after in the season.

    Problem #4 - putting the block on the build platform

    This was the major fixable problem in the code. During auto, we need to take a block from the quarry and put it on the foundation. The problem is when we actually go to deposit it. When we go to put it down, we need to be very accurate, which with FrankenDroid is not easy. With no distance sensors, the best we can do is to tune the exact movements. While this isn't the greatest solution, this will do for now. In the future, we will have a distance sensor so that we can know where we are exactly in relation to the base.

    Next Steps

    We need to implement the distance sensors and other sensors on the robot. Obviously we aren't going to be using FrankenDroid for too much longer. TomBot may bring new innovations like a telemetry wheel which will make auto more accurate.

    TomBot Suspension

    26 Oct 2019

    TomBot Suspension By Ben

    Task: Design a suspension for TomBot

    3 Different iterations of the passive suspension.

    We've decided to design a suspension for our circular chassis for one reason. Under the neutral bridge, there is a 15mm lip on the floor plate to connect the bridge support. Traveling over this plate can cause significant depreciation of the chassis and connected subsystems.

    We have currently made 3 different versions of possible prototypes. We will be using a passive suspension system. The suspension will be 3D printed in Nylon, as it is fairly strong and flexible. It is also shatter resistant, making ideal for withstanding large and nearly instantaneous forces.
    Our first design was a triangle, but we determined that it was too rigid and wouldn't flex enough to absorb the impact of running into the floor plate at high speed. The next design was an ellipse. An ellipse has the capacity to expand outward, making it ideal for absorbing significant impacts. The first ellipse, however, was too small and unable to support the weight of the robot and flex enough to absorb the impact. The second ellipse is taller, enabling it to withstand the weight of the robot and forces from driving onto the floor plate.

    The suspension will be attached to a 3D-printed wheel mount. This mount will have the capacity to slide vertically as the suspension absorbs any impact.

    Wheel mount with example suspension

    As of now, we haven't conducted actual trials on any of these prototypes. In the event we determine that Nylon is not ideal; we may look into designing a shock absorber made from NinjaFlex. NinjaFlex may be suitable due to its flexible nature. A part could be designed, such as a cylinder, with a thick hexagonal infill. This would allow it to flex while maintaining some rigidity.

    Next Steps

    After creating a few more different types of passive suspension systems, we will want to begin testing them. They will have to be attached to the robot and individually tested. We may also want to design a NinjaFlex suspension regardless of whether or not the Nylon suspension proves viable to see which is ideal.

    Hedrick Scrimmage - Code

    26 Oct 2019

    Hedrick Scrimmage - Code By Jose and Cooper

    Task: Discuss what went and what needs improvement in our code

    Taking part in the annual Hedrick Scrimmage, we got to test our Robot In 24 Hours, FrankenDroid. Specifically, since both coders on the team are new to the sub-team, we wanted to see the code capabilities we could offer. For this event we had two autonomous paths: the first one simply walks underneath the skybridge for some easy 5 points, the other grabs a stone(we had no vision on FrankenDroid so no way to detect a skystone), moves to the building zone to drop said stone and parks under the skybridge. For being coded in a just a few days, these auto paths were both high in pointage and accuracy/precision. As well as auto, we wanted to test driver enhancements. These were coded at the event but proved to be useful. They include: a button press to move the arm to either fully retracted, perpendicular to the ground for strafing, and disableing strafing whilst in stacking or intake mode. These also proved to be effective on the playing field, making the drivers' life easier.

    Next Steps

    We need to incorporate vision into our autonomous, most likely Vuforia, to be able to detect skystones as well as speeding up the auto paths to be able to complete a 2 skystone auto.

    Ordering a Slip Ring

    26 Oct 2019

    Ordering a Slip Ring By Jose

    Task: Order a slip ring for the turn table

    In order to spin the turntable on TomBot we need to use a motor with a specific gear to make it spin and as a bonus we can use a slip ring to transfer power to it. Slip rings can prove to be useful since there would be no need to worry about wires getting tangled after the turntable spins a certain amount in the same direction and if done correctly, the turntable can be spun continuously, allowing for the very much necessary victory spins. The specific slip ring we need should have 6 wires, be able to handle 20 amps and 12 volts, and be at least 20mm in diameter. After some research on various sites, we found what we needed on aliexpress.com. This company features various slip rings for various purposes, which includes our "custom project" need. We ordered one at a hefty price, but if it works, its benefits will be worth it.

    Next Steps

    Once the slip ring arrives we can begin testing it on a test turntable to verify its viability on TomBot.

    Updating TomBot's model

    27 Oct 2019

    Updating TomBot's model By Bhanaviya and Ben

    Task: Update the model to plan TomBot's build

    With our first qualifier being less than a month away, Iron Reign embarked on an ambitious project to create a robot with a circular chassis named TomBot (which was, for reference, named after our coach's cat, Tom). Before we began the build of the robot, we planned out the chassis design in an earlier post on CAD. Now, with our chassis progress from last week, the model has been updated.

    The updated model still has the same base chassis design from the earlier model, but it now has extrusion bars above the chassis that were added in to the actual robot last week. It also has a turn table mounted on top of it to support our gripper arm and a gripper arm. As of now, the turn table hasn't been built yet but planning it out in the robot model will make it more efficient for us when we do start building.

    Next Steps

    With our robot model in progress, we can now plan out all our steps ahead of time in CAD so that we will make less mistakes on the physical build. We will be updating the model as the season progresses.

    Round Chassis Assembly

    02 Nov 2019

    Round Chassis Assembly By Justin, Trey, and Jose

    Task: Attatch Omni wheels to Round Chassis

    Today we finished assembling the round chassis for our circle robot, TomBot. The most important system we added was the omni wheels to the front and rear of the robot. Without the omni wheels, the robot would tilt like a seesaw around the central 2 big wheels. These omni wheels lightly touch the ground in the front and rear of the robot to keep the chassis parallel with the ground.

    The omni wheels were attached so that we have 3 wheels in the front and 3 in the rear. We used 3 wheels to give us more points of contact and more stability at high speeds. The wheels mounted to our new Go Bilda bearing mounts. The mounts have a central bearing with 2 mounting points that branch off of the bearing in a Y shape. The difficulty with this system of mounting the omni wheels is finding the correct height from the polycarb base to mount the bearings. The wheels should be as close as possible to the same height as the 2 big central wheels. The threads in the branches of the Y-shaped bearing mount are very short, which means that almost all the height adjustments need to be done with spacers and long screws. We used the longest screws we had, and after screwing them in to check if the height was right, we found that they were pretty close to what we needed. They still needed spacers to keep the screws from pushing up through the polycarb base, so we used the spacer heights to fine tune the height to get the omni wheels as even as possible with the big wheels. We found that exactly 1 and a half white plastic spacers looked pretty close to the height we needed.

    After assembling both sets of wheels, we placed the robot on the field and checked to see how much it tiled back and forth. We found that the 1 and a half spacers was the exact height we needed, as the robot doesn't tilt or wobble at all, and the big drive wheels still have plenty of traction on the field to drive the robot.

    These omni wheels allow us to use the chassis to test and work on our other subsystems, but we see some potential flaws in the wheels. The most significant flaw will occur at high speeds. The platform in the middle of the field has a steep edge to it, so driving over it at high speeds will cause those front omni wheels to take a lot of force. Since the mounting is rigid, that force will affect the whole robot and could either jam the robot up against the platform or cause the robot to hop and get shaken up a bit when it drives over.

    Next Steps:

    One of our modelers is working on 3d printing a suspension system to allow the omni wheels to retract under force. For testing purposes, and for our first qualifier, the rigid system should be fine, but later on the suspension will allow us to move at maximum speed. Our next step is to start assembling the rest of the robot to the chassis.

    Transition from Expansion Hub to Control Hub

    02 Nov 2019

    Transition from Expansion Hub to Control Hub By Jose and Cooper

    Task: Discuss the transition from using the Expansion Hub to using the Control Hub

    Over the past month we have used the control hub our robot in 24 hours, FrankenDriod. This was a great way to test its viability before implementing in onto our competition robot. We have already used the control hub at the REV test event where we were given a sample control hub to replace the existing expansion hub in our Rover Rockus bot. This proved the control hub to be much better than the expansion hub since there was no worry of a phone disconnect mid-match. This was no different on FrankenDriod, as we had less ping, didn't have to worry about a phone mount, and most important of all, we could push code to it via wifi. This is a useful feature since modifications to the bot's code can be done on the spot with no need for a wired connection. The only downside we see as of now is that an external webcam must be used for vision, this of course, is because we no longer have a phone to this. This is fine since we are used to using a camera for vision anyways so there is no difference there.

    Next Steps

    Considering that our team is one of the NTX teams who have received permission to beta-test a control hub at qualifiers, we will now use it on our current competition bot, Iron Roomba, especially since we have proven the control hub to be fully viable on a competition bot, having used FrankenDroid at the Hedrick Scrimmage.

    Stub Gripper

    02 Nov 2019

    Stub Gripper By Jose

    Task: Building gripper iteration #7

    As our 8th gripper design we modeled a stub gripper, inspired by 7129’s Ri30H. Several of our previous grippers were designed with the intention of being mounted our scrimmage/Robot in 2 Days bot Frankendroid. This is our first gripper design modeled with the full intent of being mounted on our circular chassis bot, TomBot. In essence, this gripper has some bars to align the gripper with the stone and grabs it by one of its stubs. The benefits of this design is that it’s the most compact of all our grippers and it can grab a stone from either its long or short side. The drawbacks are that it requires great driver precision and whatever we use to grip the stub needs to have lots of friction to not lose grip since there are few points of contact.

    Next Steps:

    We will add this design to the others and decide which one is best to actually implement it on TomBot.

    Turn-table Assembly

    02 Nov 2019

    Turn-table Assembly By Aaron and Trey

    Task: Finish assembling the turn-table

    During today’s meeting, we were able to complete the mounting of the pinion motor assembly to the turntable. This included drilling out holes and routing out a square in the polycarbonate disk that we are using as a base for mounting. We also rebuilt the pinion mechanism and implemented it into a smaller configuration.

    The idea with the turn-table is to eliminate the need for strafing. In this game, precision is key. Strafing allows for the robot to precisely move from side to side, however, with a turntable, the robot won’t even have to move. We can attach the gripping mechanism to the turntable and move the gripping mechanism side to side independently from the actual robot itself.

    Next Steps:

    Next we can mount the turntable on to the actual robot itself. We now have a slip ring that will allow the turntable to turn freely without worrying about wiring getting caught up in the motion.

    3-Fingered Gripper

    09 Nov 2019

    3-Fingered Gripper By Jose and Aaron

    Task: 3D Model and build an 8th gripper design

    As our 8th gripper design we are trying out a compact design known as the 3-fingered gripper. This was 3-D modeled before being built as a proof of concept. The back of the gripper has two bars to orient the stone before being grabbed. One bar contacts the stone and the other does too as TomBot continues to approach it. The actual grip comes from a plate that can open and close via a servo. Once the design was modeled it proved to seem reliable, especially because of the two bars orienting the stone.

    Now for the fun part, actually contructing the gripper. REV extrusions were used for bars at the back since their width is ideal for the job. From here we used GoBilda parts such the plates and a hinge for the rest of the design. Optimizations were made for the attachment of the GoBilda plates since they aren't the exact length needed, and once another plate was attached to the first via a hinge we added a servo. This servo opens and closes the gripper(of course), to do so a polycarbonate bar was used to connect the servo and the hinged plate. Finally, we added grip material to the back bars and the gripping plate. By using a servo tester we were able to test its functionality. Tests proved that grabbing the stone is really easy, but the grip could use work.

    Next Steps

    Compared to the other gripper designs this one seems to work best so we will optimize it some more add it onto TomBot.

    CNC Turntable Mounts

    10 Nov 2019

    CNC Turntable Mounts By Justin

    Task: Model and CNC way to mount the turntable to the chassis

    Today we worked on creating a 3d model for a CNC cut part to mount the turntable to the chassis. Since the turntable already has bolts sticking out of the bottom, we decided to use those as mounting points for our part. The most efficient solution to mounting the turntable is to cut a plate that attaches to the turntable bolts and has points to attach legs that will attach to the polycarb base. For convenience, the legs will be vertical tapped rev rails.

    Our first decision was deciding where to mount this plate. We determined that there should be 2 plates that attach to opposite sides of the robot. The plates would be curved and attach underneath the nylon gear. Each plate would attach to the turntable using 3 of the turntable's bolts, which uses all 6 of the bolts for mounting. Next, we needed to create bolt holes for the legs to attach to. In order to be able to drop bolts through the holes, this plate must extend slightly outside the turntable, because the plate will be flush with the nylon gear. We created a common radius from the center of the turntable where these holes will be placed, so that there is enough distance between the holes and the nylon gear. These holes would have to be placed so that the attached legs aren't blocked off by the rev rail already on the chassis. To fix this, we decided to put 7 total holes on each plate to mount the legs, all equally spaced around a common section of the circumference. This way we can play around with the mounting points, since we only need about 3 for each plate.

    Next we decided whether to mount the plates to the front and rear, or the left and right of the turntable. We counted up how many mounting points were available for each orientation and decided that the front and back mounting would give us a stronger attachment. The front and back are also where the turntable will want to lift up and push down under heavy loads, so it makes sense to mount at those points.

    During mounting, we found out that the spaces between the turntable mounting holes and the leg mounting holes at 3 points on each plate were too small to attach a REV rail leg. This is because the bolt from the turntable prevents the REV rail from being flush with the plate. To fix this, we used longer bolts on the turntable and used the revrail legs as both supports for the table and nuts to keep the plate onto the nylon gear/turntable.

    Next Steps:

    Our next step is to mount the legs to the plate, the plate to the turntable, and the whole thing to the robot. We need to measure out what length of rev rail legs we need to allow the turntable to spin freely without interfering with the chassis. We then need to mark and drill holes in the polycarb base to attach the whole subsystem. These mounting plates still need to be tested with the full capacity of the robot. Any issues should only come from the rev rail legs, which can later be replaced with a more custom solution.

    Mounting the Slip Ring

    10 Nov 2019

    Mounting the Slip Ring By Aaron

    Task: Mount a slip ring onto TomBot's chassis

    On our robot we have a turntable in order to increase the degree of precision at which we can maneuver skystones. We have one REV Hub under the base of the bot, and one on top of the turntable. This means, however, that we need 360 degrees of rotation between the two Hubs. Our solution to this problem was to use a slip ring. By using a slip ring it allowed us to have a center of rotation for our wiring to move freely around the point between our robot base and the turntable.

    We mounted said slip ring to the circular piece of polycarb that is bolted down to the outside of the turntable. We then ran the multitude of colored wires through two separate holes drilled through the previously mentioned polycarb circle and through the base of the robot to the underside and to the REV Hub mounted to the bottom of the robot.

    Next Steps

    Our next step is to ensure that the turntable on the chassis is mounted securely enough so that the motion of the slip ring won't cause it to topple over. To do this, Justin has modeled turntable mounts which we will mount onto the robot during the next meeting which will be the Saturday morning of the Woodrow Scrimmage.

    Responding to Girl Scouts of Desert Southwest

    13 Nov 2019

    Responding to Girl Scouts of Desert Southwest By Bhanaviya

    Task: Respond to an email about the MXP to the local Idaho STEM director of Girl Scouts.

    The Mobile Tech xPerience

    Today, Iron Reign received an email from the STEM director of the Girl Scouts of Desert Southwest saying that they are seeking to create their own mobile learning lab, similar to our Mobile Tech xPerience (MXP). As such, in the email we were asked for the story of the MXP - its deconstruction, construction, design and the like. Considering the MXP is nearing its time for expansion, it was fitting that we received this email. Since the correspondence comes from Idaho, this will also be our first out-of-state connect opportunity of the season.

    In a brief summary, in our response we detailed the interior construction of the vehicle. Buried in this blog's archives is a series of posts that details the whole deconstruction and reconstruction process of the vehicle. Of course, no one from our current team was involved in this process and as such, we made sure to accredit the interior furnishing of the vehicle to our team alumni. This process included replacing the carpeting with wood-grain vinyl, adding new shelving to store LEGO robots, installing new wide-screen monitors, and creating a bay to stock 3D printers.

    The floorplan for a second vehicle

    We also made sure to explain how the MXP is operated. For reference, the vehicle is operated by Big Thought, our programmatic partner, and during the vehicle's deployment at outreach events like Moonday, our team mans and runs the MXP booth where we teach students how to block-program LEGO EV3 robots to battle one another, and how to 3D-print a keychain on SketchUp that they can take home. Now, the MXP is nearing end of its lifetime and Big Thought has plans to expand the program by creating a new, bigger vehicle.

    Next Steps

    We were very gratified by the STEM director of the Girl Scouts of Desert Southwest reaching out to us about the plans for their mobile learning lab. Being able to take part of the MXP's mission to bring STEM education to students in the greater Dallas area has been one of the best opportunities Iron Reign has recieved, and its one we intend to pass on to others in our community like the Girl Scouts. We wish them the best of luck in putting their plans to fruition and are looking forward to answering any more questions they have on the plans for the vehicle.

    Logarithmic Spiral Design

    15 Nov 2019

    Logarithmic Spiral Design By Ben

    Task: Design a system that could linearly reduce torque.

    Since last season, we have conducted a significant amount of experimentation on our elbow and slide mechanism. We are using a similar design because we have prior knowledge on how to construct and maintain the subsystem; however, our slide this year is larger due to our desire to stack the stones higher. Although our elbow could lift the entire slide, we want to reduce the strain on the system by designing a component that would apply torque to the slide. Reduced strain will decrease the maintenance we will have to perform and will also increase the efficiency of the elbow by assisting it. The part would be attached with a bungee from the part to another part also on the turntable a few inches away.

    We decided to use a logarithmic spiral (r=ae^(bθ)) because it would reduce the torque exerted on the elbow linearly. To create this spiral in Fusion360, we had to write a script because there is no native spiral/equation builder. The code can be seen below and was adapted from code that can be found here. Once the code was executed, it created a sketch of the spiral, which you then had to spline into a line. Since we wanted the spiral to be tangent to the gear it would be attached to, we imported a model of the gear and aligned it with the spiral to find the optimal a & b values. Another requirement was that the spiral must be under 3 in and preferably 2.75 in to allow for space between the elbow and turntable plate. These values were a = 0.2 & b = 0.6, which were determined through various trials.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    import adsk.core, adsk.fusion, adsk.cam, traceback, math
    
    def run(context):
        ui = None
        try:
            app = adsk.core.Application.get()
            des = adsk.fusion.Design.cast(app.activeProduct)
            root = des.rootComponent
    
            # Create a new sketch.
            sk = root.sketches.add(root.xYConstructionPlane)
    
            # Create a series of points along the spiral using the spiral equation.
            pnts = adsk.core.ObjectCollection.create()
            numTurns = 5
            pointsPerTurn = 20
            distanceBetweenTurns = 5
            theta = 0
            offset = 5
            a = 0.2 #aVal
            b = 0.6 #bVal
            for i in range(pointsPerTurn * numTurns + 1):
                r = a * math.exp(b * theta) #Definition of a logarithmic spiral
                x = r * math.cos(theta)
                y = r * math.sin(theta)
                pnts.add(adsk.core.Point3D.create(x,y,0))
    
                theta += (math.pi*2) / pointsPerTurn
    
            sk.sketchCurves.sketchFittedSplines.add(pnts)
            ui  = app.userInterface
            ui.messageBox('Spiral Done')
    
        except:
            if ui:
                ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
    

    Final design over original spiral

    Once we had the design, we printed it onto paper through the Fusion draw tool. We then confirmed that the holes aligned with the gear.

    After confirming the design aligned, we began preparing it to be machined on our CNC. For this part we went with 1/8in aluminum because it is both durable and inexpensive. It will also withstand the forces that will be exerted on the part.

    The finished part came out nicely with a few tabs that had to be removed. The part fit correctly and was successfully attached to the elbow and gear.

    Next Steps

    Our next steps will be to machine the part again, creating an identical copy, and printing the same design out of nylon, but taller. The nylon component will be sandwiched between the aluminum pieces and will have a cutout that will connect a bungee cord to it. We also have to design a part that will connect the bungee to the other side of the turntable. After introducing the bungee, we will have to conduct trials on the elasticity to determine the best bungee length or composition. These are necessary because we don’t want to apply too much force, restricting the elbow from lowering, yet we want to apply enough force to considerably assist the elbow when lifting.

    (Detected as missing, recovered, and Restored on 11/19/2022)

    Presenting Our Engineering Notebook

    16 Nov 2019

    Presenting Our Engineering Notebook By Karina, Justin, Bhanaviya, Cooper, Jose, Ben, Aaron, and Trey

    Task: Share with other teams how Iron Reign creates its engineering notebook

    This weekend Iron Reign attended the Woodrow Wilson Scrimmage. On top of participating in the scrimmage, we were invited to present on Engineering Notebook Success as part of the morning workshops. The team went through our slides, going back and forth with our audience when they had questions, with two major focuses: journal content and the physical notebook. You can access the presentation below:

    Iron Reign would like to emphasize that this is how our team creates its engineering notebook, not that it is the "right" way.

    One thing we want to emphasize is that unlike previous years, presentations only run for 5 minutes before being cut off. And so, the engineering notebook is the main way teams can advocate for themselves to the judges outside of face-to-face interactions. Therefore, teams must effectively communicate what they want judges to know about their team through the notebook. Iron Reign does this by highly organizing content through the use of tabs and highlighting to correspond with specific awards. We included other suggestions, such as table of contents and a "how to read this notebook" page, all for the convenience of the reader.

    Woodrow Scrimmage

    16 Nov 2019

    Woodrow Scrimmage By Trey, Bhanaviya, Ben, Jose, Justin, Aaron, Karina, Cooper, and Paul

    Task: Compete and work on TomBot at the scrimmage at Woodrow HS.

    This Saturday Iron Reign attended a scrimmage at Woodrow High School. Woodrow offered a variety of activities that improved the capabilities of our team like for example, the mock judging sessions. Our session gave us insight into how our judging presentation needed to be reformed and cut down to fit into the new five-minute time limit. It also gave us a chance to see who was going to do each slide and how long they should talk about it. Other criticism we received was founded on the same basis that we were not owning up to our story, were not motivated enough, and were more focused on the infrastructure we were given rather than what we had done with it. All of these points are entirely valid and were worth looking further into and making better.

    Iron Reign also held a journal workshop where Rookie and veteran teams alike were able to learn the basics of constructing and preparing an engineering journal for competition. It went through the most important organizing structures, writing techniques, and time management practices. This workshop went well and we would definitely do it again in the future.

    When it came down to performing in the robot game we did not surpass our expectations even though we made first place out of all the teams there. This was because we were using Frankendroid, the barely functional robot we built in two days. This robot was only capable of producing subpar results fully functional but at this particular competition, it was not fully functional. This means that Frankendroid was only able to make at most ten points because of a broken encoder cable that rendered the arm nonfunctional. However, we are not going to use this robot at the first scrimmage next Saturday. Instead, we are going to use TomBot which was being worked on the entire time. In that time we were able to attach the arm and gripper and write some basic code to control the robot which is still being debugged.

    Next Steps

    Iron Reign is working around the clock to make sure that we don’t show up with a robot like Frankendroid at the first qualifier. We are well on our way to finishing the arm and turntable on TomBot. We are also working to better the judging presentation and to fit it into the newly established 5-minute time limit. So far it looks like we are going to get there by Saturday.

    Linear Slides on TomBot

    19 Nov 2019

    Linear Slides on TomBot By Justin

    Task: Mount linear slides to the robot.

    Today we focused on getting the arm and linear slide ready to be powered up. Our first task was to move down one of the stages of the linear slide to align the slides. We also adjusted where the carriage stops to further align the slides.

    Next, we began to run the belts through the pulleys. We needed to run the belts around the motor and accidentally put on an extra pulley, but we got the slides to move by pulling on the belt. To let the motor power the slide, we had to attach the both ends of the belt to the same carriage. To reach the below the slides from the top carriage, we had to attach a bracket with a screw sticking across to tie the belt onto. The bracket was made out of a bent GoBILDA flat plate. The hole spacing on the plate matched exactly the hole spacing on the nylon mounts for the final stage, which were also CNC drilled into the metal bracket. This made attaching the mount and bent plate to the metal bracket very easy. We extended the bottom row of the bracket out to one side to place the crossing screw away from the gears of the arm. The plate has a slight flex to it under the load of the belt, but will function fine as a tensioner for now.

    Next steps

    Next, we need to check the robot for sizing and mount the last stage and gripper to the arm. The gripper mounting system needs to be decided, because wire won't hold up this weekend.

    Coding TomBot

    20 Nov 2019

    Coding TomBot By Cooper and Jose

    Task: Use existing code from the code base to program TomBot

    To code TomBot, we decided to use the codebase from Frankendroid, as its the one we were most comfortable with. This will change after the qualifier, as we recognize that the robot is more like last year's robot, Icarus. This will, in the long run, help us as we will be able to minimize the amount of refactoring we have to do. But in the meantime, we made 4 major changes in the code for Tombot.

    Change #1 - Mecanum Drive to Differential

    The first was the change from a mecanum drive to a differential, arcade style control. This was done by commenting out the lines for strafing, and changing the method call to a dormant method, which was a remnant from some testing done with a linear op mode for an early version of FrankenDroid. We got rid of the power assignment for the front motors, and just used the back two motors to represent our 2 drive motors. This gave us some trouble, which I’ll cover later. After that trouble, the method was still broken, as the left stick y was controlling the left motor, and the right stick x was controlling the right motor. This was due to the incorrect power assignments in the code. With that fix done, it drove as it should after the switching of an encoder cable.

    Change #2 - Rolling Gripper to 3-finger gripper

    The next 'big' change was the change from the rolling gripper on frankenDroid to the 3- finger design on TomBot. I use the word big lightly, as it wasn't more than commenting out the lines for one of the servos. However, this will have a major impact, which can be seen in the details in our grippers post. This is also note worthy in terms of auto, as it will have adverse effects on auto. This is due to the current instability and overall unpredictability of it. So, in auto, we will have to compensate for it.

    Change #3 - Turret

    One of the biggest changes to the code base we made was with the Turntable class that I wrote. This was also, therefore, the hardest part. Due to the fact I'm still relatively new to this, I got a lot of my examples from the Crane class that Ahbi wrote last year. I started first by tackling making a basic skeleton, including methods like rotateTo() and rotateRight(). Then I started filling them in. For some reason, the first go around at this, I decided to through out all the things they taught me in school and use rotateRight() and rotateLeft() as my lowest level method, instead of rotateTo(). Another thing I failed to realize is that I didn't fully get the Crane class, and made a redundant positionInternal variable for the encoder values that is assigned at the rotate method calls and then another variable called currentPosition was assigned to that, and then the encoder value for the motor was set to that. This sounds stupid, because it was. This cost me a good day of working and was a great lesson in taking my time understanding something before I go off and do it

    Once I had realized my misunderstandings of the Crane class, I was able to move on. I cut out all the unnecessary positionInternal code, using the other variable (currentRotation) to be changed in the rotate mehtods. Speaking of, I also got some sense into me and changed the rotate methods to use setRotation() as its lower-level method, making the code more professional in nature. This, still, was not our only problem. Next was encountered a bizzare glitch-like attribute to using the rotate methods. There was a sporadic, sudden movement whenever we pressed the button assigned for turning the table (the a button as it was just a test). After many looks at all the possible variables of failure, we whittled it down to be the fact that we assigned it to the controllers A button. What we observed was the turntable working, just not how we thought we were telling it to. In the button map, there was a method called toggleAllowed() infront of all the boolean-value button. This, unbeknownst to me was actually a toggle method written by Tycho many years ago. This toggle made it so the action assigned to the button only happened once, which is useful for things like latches and poses, as the driver could overshoot it if left to un-press the button in the correct amount of time. This, however, in our case led to the turnLeft() method (the one assigned at the time) only happen once, which was that sudden, sporadic movement after the a button.

    Once we changed it to a trigger, it worked-- almost. there was still some bug in the code that made it do some pretty funky stuff, which is hard to describe. After we whittled it down to just a small error of changing a negative to a positive, it worked perfectly.

    Change #4 - XML file

    During the Woodrow Scrimmage, I spent most of my time dealing with null pointer exception errors and incorrect XML assignments. This was, again, due to a lack of knowledge of the code base. I tried to comment out certain motors, which led to the null pointers, and tried to get rid of those null pointers in the XML file. After awhile of this loop, I realized my mistake in that the null pointers were due to a method call on an uninstantiated object. When I put all the assignments back in the Init, I was finally able to get it running

    Next Steps

    My next steps are to tune the PID values for auto, so I can use the skeleton from FrankenDroid. Then I need to take some of the sounds from the driver phone, like the critical error one, as it can severely affect workflow and my sanity. Finally, I need to change the turret to make it so that it uses the IMU heading instead of entirely the encoder value from the turntable.

    Morph Chart

    20 Nov 2019

    Morph Chart By Bhanaviya

    Task: Create a morph chart to analyze all our designs so far in this season.

    Iron Reign has seen several iterations of several subsystems over this past build season. With our first qualifier being 2 days away, its finally time to come full circle and identify the different iterations of different subsystems coming together. To do this, our team used a morph chart. A morph chart shows the various subsystems of our 2 robots in this system - our robot in 2 days bot Frankendroid and our competition bot TomBot.

    The left axis showcases the different subsystems like gripper designs for both robots, chassis designs and progressions, and extension mediums. A morph chart is often used by professional engineers to document the cyclical nature of choosing and moving through various designs. So far, Iron Reign has been through 9 types of gripper designs, 2 chassis designs, 2 linear slides systems differing in lengths and a third one incorporating the logarithmic spiral described in an earlier post.

    Across each row, alternative designs for each subsystem have also been depicted. As of now, our current robot has a circular chassis as shown in the second design in the fourth row, a flat gripper system as depicted in the first column of the third row, and a linear slide system supported by a logarithmic spiral in the fifth column of the fifth row.

    Next Steps

    Placing all of our designs in one chart like this allows us to see how iterative our design process has been, and how much of an influence each design has had on another. With all of our designs so far placed in the morph chart, our next step is to continue to update the chart after our first qualifier so that we can have a pictorial summary of our entire build season for reference.

    Last Minute Code Changes

    22 Nov 2019

    Last Minute Code Changes By Cooper

    Task: Debug some last-minute code to be ready for our first qualifier of the season

    This article may seem a bit rushed, but that's because it is - for good reason. Tonight is the night before the qualifier and it’s roughly 2 in the morning. Tonight we got a lot done, but a lot didn’t get done. We can explain.

    We finally have a robot in a build state that we could use to test the code for the turntable properly. The only tragedy - it wasn’t refined, per say. But it’s good enough for tonight. There are some random discrepancies between the controller and the actual turning portions of the turntable, but they seem to be largely minute.

    Next, we had issues just a bit earlier tonight with the elbow. First off, the elbow was backwards. The elbow would count the ticks backwards, such that down was a positive tick direction. Looking through all the code, we saw that the motors’ encoder value was flipped through a direct call to the DCMotor class. So we turned that one off and tried it but that didn’t work, so we then found another and put back the first in a different position in the code, thinking they’d cancel out. But, eventually, the solution was as simple as taking out the encoder values, which allowed the elbow to count the ticks forward. We plan to fine-tune our solution after the qualifier, but for now, it will allow the elbow to work.

    Next steps

    Get some sleep and then refine and complete the code tomorrow morning at the qualifier, and hopefully write some auto

    Night Before Competition Build

    22 Nov 2019

    Night Before Competition Build By Aaron, Cooper, and Trey

    Task: Transform a mass of metal into a functional something in the span of one night in time for the qualifier tomorrow.

    Twas the night before competition and the robot was most definitely not competition ready. This is what usually happens, but once again we found ourselves scrambling around to get everything together before the end of the night. We ended up mounting the gripper, setting up the belts, making hooks for the foundation and of course a whole lot of minor fixes and adjustments.

    Mounting the gripper was actually something that we completely finished at competition, however the night before we decided the previous mount would work. Although ingenious, the previous mount would have been to wiggly and not reliable. We ended up opting for a less simple design, however more stable and efficient. With the design we came up with, we realized we still wanted a degree of rotation on the x axis so that when stacking, gravity would automatically align the stone to the rest of the presumed tower. We achieved this in the simplest way by having two c shaped bars connected by only one screw in the middle on either side, allowing it to move back and forth.

    The belt was probably the most difficult part. What we needed to mount the belt was a piece that went up and over the rest of the slide then back down the other side, in order to have an attachment point for the end of the belt. This piece would be attached to the back of the top slide, and would be the highest point of the robot, which presented its own challenge. We needed this part of the robot to be able to fit under the bridges, and couldn’t make it go over not even just a bit or it would get caught and ruin the whole game. We tried constructing this piece by drilling a line of holes into the section of the metal we wanted to bend, making it weak enough to bend, however that ended up in just breaking the metal. We then decided it would be much stronger if we used the already bent L channel and just used two of them attached opposite ways.

    The hooks for the foundation were pretty last minute and ended up not being very functional. This resulted in us immediately changing them when we got back from competition. The hooks we had at competition were two polycarb L shaped pieces the simply would rotate downward. We mounted them onto and axle driving by a core hex motor. The main issue what that they didn’t have enough contact area to the foundation and we couldn’t effectively move it. We also realized that if we wanted to efficiently move the foundation, we would need to be able to rotate it, which would require contact from the back as well.

    Next Steps

    With the robot completely (mostly) built for our first qualifier of the season tomorrow, our next concern is driver-practice. As of now, we have no drive practice so this is something which we will be trying out for the first time this season with TomBot tomorrow on the practice fields.

    Match Play at Allen Qualifier

    23 Nov 2019

    Match Play at Allen Qualifier By Jose, Ben, Aaron, Bhanaviya, Trey, Cooper, Justin, and Karina

    Task: Compete in Qualification Matches and maybe some Playoffs

    Today was our first qualifier at the Allen STEAM Center and we were able to compete with our official competition robot, TomBot, at the event. With its build being done the day of and its code also minimal, we didn't have high hopes coming into this competition in terms of robot game. Nevertheless, the following ensued. For reference, we have a separate post underlining the analysis of the qualifier that does not include match analysis. This post merely details how each one of our matches went, and we will have a future post discussing our drive issues at the competition.

    Match 1(Quals 6)

    We lost 113-36. This match was a though one against 7172 Technical Difficulties, who managed to almost set a new world record alone. We had no autonomous at this point and very little driver practice led to our low score.

    Match 2(Quals 11)

    We lost 5 - 29. Early on in the match the wires that control the entire arm of TomBot were caught on the team number side shield, making the bot virtually unusable during the rest of the match. (insert sad face here)

    Match 3(Quals 18)

    For the second time in Iron Reign history we tied 10-10. With still no autonomous at this point we had an early disadvantage and to make things worse, the servo that controls the stone grabber disconnected, making TomBot a pushbot for the rest of the match.

    Match 4(Quals 28)

    We won 29 - 38. In this match we got to play with our sister team 3734 but against our other sister team 15373. Despite never practicing together before we had great synergy throughout the entire match and even pulled off a double park at the end.

    Match 5(Quals 31)

    We lost 36-50. Our luck ran out here despite the improvements shown in the last match. We were able to run a ten point autonomous with 15204 but our opponents closed the gap during Tele-Op.

    We finished the qualification matches seeded 22nd out of 28 but that didn't stop us from asking the 3rd seed, 11629, if they would like to have us in their alliance, after a quick discussion they said they liked our bot and added us to their list. This ended up working out as we were their 2nd pick during alliance selection.

    Semis 2-2

    We won 58-38. This was a great match where our autonomouses combined scored 20 points. From here we used a feeding strategy where 15176 fed us stones while we stacked them. During end game we also managed to get a double park.

    Finals 2

    We won 48-28. In this tense match against the 1st seed alliance we were able to do our 20 point auto again and executed the feeding strategy like before. During the end, however, a quick attempt at a park caused the tower we build to fall, but luckily so did the opponents' stack.

    Finals 3

    We lost 38-86. Both our autonomouses failed which resulted in some time wasted during tele-op to push the foundation to the building site. We were able to pull off the normal tower we build and double park, but this wasn't enough to overcome 7172's and 9161's massive lead.

    Next Steps

    With so little driver practice done ahead of the qualifier, we hardly expected to receive the Finalist Alliance award but the opportunity to compete in the finals match allowed us to analyze what code and build changes need to be made to our robot to put us in good shape for our next qualifier at UME Preparatory Academy on January 11th.

    Allen Qualifier

    23 Nov 2019

    Allen Qualifier By Bhanaviya, Karina, Cooper, Jose, Trey, Aaron, Ben, and Justin

    Task: Compete at the N. TX Allen STEAM Center Qualifier

    Right off of a subpar performance at the Woodrow Wilson Scrimmage, Iron Reign walked on shaky ground to the qualifier at the Allen STEAM Center. In the 2 weeks leading up to the tournament, Iron Reign worked hard, with countless changes to our blog and robot. Despite this, we had virtually no driver practice for the qualifier, and did not expect to do exceptionally well at the competition.

    Inspection

    For possibly the first time in Iron Reign history, we passed inspection the first time around! Our robot fit well within the sizing cube, though we will need to improve our wiring management after the qualifier.

    Presentation

    We walked in, and started off out strong. Half of a good presentation is the energy, and we certainly had a good amount of energy going in. We were also able to finish our presentation within the 5 minutes allocated, which gave us more time for questioning. Unfortunately, during our robot demo in the questioning demo, one of our chains slipped which meant that our demo was not as successful as it could have been. The plan for the robot demo was that while the turntable rotated, the circular chassis would rotate in the counter direction. However, the slip-up with the chains also took away time from our questioning, so we were unable to convey our information as effectively as we could have.

    Robot Game

    To start off, we didn't really have a working robot. However, as the day went on, we were able to make additions to our robot that eventually rendered it capable of being picked for a semi-finalist alliance, and from there, advance to the finals. For reference, this is merely a summary of the entire day, and does not serve as our match analysis. The match analysis has been documented in a separate article.

    Match 6

    We lost 113-36. With no autonomous, and little driver practice, we were no match for our opponents.

    Match 11

    We lost, 5-29. The wires on TomBot got caught on our side shields, rendering us useless for the rest of the match.

    Match 18

    We tied 10-10. We still lacked autonomous and we were basically a pushbot for this match.

    Match 28

    We won, 29-38. Our autonomous wasn't solid, but both us and our alliance (our sister team, Imperial Robotics) were able to double park.

    Match 31

    We lost, 36-50. We had a semi-working autonomous, but our tele-op performance wasn't enough to catch up to our opponent's.

    We finished qualifying matches in 22nd, but talking to the 3rd seed team Todoians prior to alliance selections, helped us secure a place in their alliance for semi-finals.

    Semifinals Match 2-2

    We won, 58-38. At this point, both us and our alliance partner, Broken Axles had a working autonomous and were able to double-park at the end of the game.

    Through our performance in the semis, we qualified for the finals matches!

    Finals Match 2

    We won 48-28. Although our autonomous worked well, both ours and our opponent's towers collapsed, which led to a low point win.

    Finals Match 3

    We lost 38-46. Both us and our alliance's autonomous paths failed and although we double-parked, our opposing alliance took the lead.

    In summary, although we did better than we expected robot game-wise, there is lots of room for improvement that we will work on over the weeks leading up to our next qualifier.

    After-Judging and Awards Ceremony

    While we thought we hadn't done well in judging, we were quickly rebuffed. A good measure of judging success is if the judges come back to talk to you, and this was no exception. We had four separate groups of judges come up to us and ask us about *every* component of our team, from business, to outreach, to code, to design.

    In the ceremony, every single member of SEM Robotics waited. Iron Golem had been the 11th place ranked team; Iron Core had been the 16th - both impressive ranks for rookie teams at such a competitive qualifier; Imperial had been the 2nd seed alliance in semi-finals; Iron Reign had multiple in-depth discussions with judges. As award nominations went on, Iron Reign has not been nominated for any of the awards, which could be a good or bad sign. Then came Inspire. We heard two names echo off as nominations; neither of them SEM Robotics teams. Finally, a speech flew across the arena as Iron Reign stood for their Inspire Award.

    Next Steps

    Even though we won Inspire, we have a long way to go. We are going to compete at at least one more tournament, and we aim to get all 3 of our sister teams qualified. Although 4 teams from one program at regionals is unusual for any team, we believe that all of our teams have the potential to qualify at the next competition on the 11th. In the meanwhile, there will be several post-mortem posts for our performance at Allen, and we hope to analyze our results at the qualifier with both the current and alumni members of Iron Reign.

    Inspire at Allen

    24 Nov 2019

    Inspire at Allen By Bhanaviya

    This weekend, SEM sent four teams to the first qualifying tournament of the FIRST Tech Challenge 2019-2020 season. Iron Reign (6832) was a finalist in robot game and won the top award (Inspire) and has advanced to the Regional Championship in February.

    Left to right: Karina Lara, Justin Bosnell, Benjamin Bruick, Aaron Daane, Cooper Clem, Bhanaviya Venkat, Trey Davis, Jose Lomeli. Not shown: Paul Lea and mentors Karim Virani, Catherine Lux and John Gray.

    Imperial Robotics (3734), was 8th place in match play, the highest qualification ranking of our 4 teams, and made it into the semifinals playoffs, but was then eliminated in their second semifinals match.

    Iron Golem (15375) was 11th in qualifying rounds, and won 3 out of their 5 matches. Their impressive performance at the first tournament for this all rookie team has set them up for a more successful experience at the next qualifier on January 11.

    Iron Core (15373), another all rookie team, was 16th in qualifying rounds, and demonstrated coolness under stress as they experienced persistent issues with robot disconnections. They are already hard at work aiming for their next qualifier.

    Our thanks go out to all of the people and sponsors who have supported us already this season, including but not limited to: Mr. Schelanko and Mr. Marx and the Dallas ISD STEM Department, Mr. Gray our faculty sponsor, Mr. Palacios and SEM staff, Ms. Huitt, The Texas Workforce Commission, FIRST in Texas, DEKA, Patrick Michaud - our FIRST FTC Regional Affiliate, Fried Elliott - Regional Judge Advisor, and the Virani / Lux family.

    Build Post-Mortem

    24 Nov 2019

    Build Post-Mortem By Bhanaviya and Aaron

    Task: Begin analyzing long-term build improvements

    Moving on from the Allen qualifier, there are a couple issues we need to fix. Aside from the usual wear and tear a robot experiences in it’s relatively short life-span, there are some specific opportunities we have for optimal robot performance which we hope to act upon.

    First, our grippers don’t have enough degrees of freedom to rotate fully. Being able to rotate gives the ability to pick up stones from any orientation. As such, we plan to create a swivel mount which will allow them to turn enough to grab and place skystones.

    Second, our grippers don’t have the best grip potential, so we hope to find more “grabby” materials to improve their grip. This can be anything from 3D-printed parts to some oven-mitts, which we have been considering using for a while now.

    Third, our robot moves slower than we’d like it to and the turntable lacks control when turning. Part of this comes with having motors and gears with a “good enough” amount of torque to give us more control or vice versa for speed. As such, we hope to calculate the exact amount of rotational force acting upon the robot to determine how to improve its speed or control in functioning. This can be as simple as finding new motors.

    Finally, we want to build a completely custom-built robot. Other than being a pretty cool flex, customizing our parts allows us to have a greater degree of control on the functionality of our robot subsystems, as demonstrated with the logarithmic spiral we printed to reduce stress on the elbow. Part of having a custom-built robot means documenting all our current parts in a bill of materials and identifying which of these parts we can manufacture in our new CNC Mill. Although we know this isn’t a goal we can accomplish before our second qualifier on the 11th, it is one we can have done hopefully before regionals.

    Next Steps:

    This time, we want to test our build improvements more often since testing is one thing we haven’t been too keen on during preparation. This is mainly a long-term list of goals we want to focus on but other smaller improvements will be detailed per usual in blog posts.

    Drive Issues at Allen Qualifier

    25 Nov 2019

    Drive Issues at Allen Qualifier By Justin, Karina, Jose, and Aaron

    Task: Identify points of improvement after driving at Allen

    While using our untested code and inexperienced drivers at the Allen STEAM Center this weekend, we encountered many issues while driving. Our biggest issue was with the turntable, which bugged us the whole day. First it was really slow, then it turned but after a 3 second delay, then we finally made it driveable but it turns to the opposite direction a little bit before going the correct direction. This was a problem the whole tournament. The turntable also had runaway, and would drift to either side. To counteract these issues, we maintained a static turntable and used the chassis to rotate. We only needed to spin the turntable maybe twice to extend into the safe zone at the end of the match. We also encountered the claw getting stuck on the side numbers when we rotated it or extended it to the side. We determined the locked straight position was the best for today.

    This wasn't a prevalent issue in this tournament, but the robot not being able to drive over the middle bridge could be a problem later on. Driving this robot around the field was so easy. We didn't have to worry about bumping into things and the claw tucked in very well. After about our first match, our coder added preset positions to the controller. This made grabbing and placing blocks very easy, and ultimately displayed the capabilities of our robot to other teams and judges. This also helped us actually score points. The gripper was very basic for this tournament, which was actually helpful as it made learning how to drive the robot very simple. They claw required very little adjustments during the match to pick up stones, and did so reliably. Adding a point of rotation to joint might allow us to pick up weirdly rotated stones. Something we noticed during this tournament was the amount of robots, including ours, that couldn't pick up stones that had been tipped on their sides. Being able to pick up sideways stones as easily as upright stones could give us a unique and very effective advantage over other robots.

    Next Steps:

    Our biggest task is to smooth out the turntable both in code and build. The presets and smoothness of the turning need to be tested and improved. We also need to free up some room on the robot to allow the arm to swing around while the claw is fully retracted. The changes to the arm should be made pretty soon, to allow enough time to drive and test the robot. The chassis issues mentioned earlier are not an immediate worry, but we should continue testing and improving our work in progress suspension system. The suspension, when functioning, will allow us to drive over the middle bridge, which increases our mobility and allows us to perform different strategies during matches. We will prototype a way to rotate the gripper on the arm to allow us to pick up blocks from more orientations. We will also compare the benefit of picking up sideways blocks with the difficulty of picking them up, and determine whether or not that is something worth prototyping.

    Post-Qualifier Code Debugging

    25 Nov 2019

    Post-Qualifier Code Debugging By Cooper

    Task: Debug code after the Allen Qualifier

    After the qualifier, along with articulation plans, we had a long list of bugs in the code that needed to be sorted out. Most of them were a direct effect of not being able to test the code until the night before the qualifier. In hindsight, there were some issues which needed to be debugged in the turntable and turret.

    The first one that we tackled was the turntable wind up and delay. This was one of the bigger problems, as it led to the instabilities seen at the qualifier. These included random jerking to one side, inconsistent speed, and most importantly the delay. As described by Justin, it was a 2-3 second time period in which the turntable did nothing and then started moving. This was especially important to fix for stacking, as quite obviously precision and careful movements are key to this game.

    So we started at the source of what we thought was the discrepancy— the rotateTurret() method. This was under scrutiny, as it was the lowest level call, or in other terms the only code that assigns new tick targets to the motor. In the rotate methods that are called by other classes, we assigned a new value to a different value called currentRotation. Once one of the rotate (right or left) methods were called, then the new value would be assigned to currentRotation. Then where the update() method for this turret class was called in the loop, it would call rotateTurret(), which would them assign currentRotationInternal to currentRotation, and then subsequently call the setTargetPositon() giving currentRotationInternal as it’s new tick value target position.

    We also started going through the demo mode that was written last year. We have this idea for a great cool demo mode that will be documented once it’s in progress. However, to get there we need a working IMU. We technically had an IMU that worked at the competition, though it was never properly used or calibrated. So, we decided to look into getting the IMUs running. We started by looking at the current demo code and seeing what it could do. Most of it was outdated. But, we did find what we were looking for- the maintainHeading() method, in which we called another method, driveIMU. We then wrote a new maintainHeadingTurret() which works pretty well. Granted, we need to adjust the kP and kI values for the PID, but that is quite easy.

    Next Steps

    Continue tuning PID values in both the turn-table and turret.

    Mentoring FTC Team 6964 Igutech

    26 Nov 2019

    Mentoring FTC Team 6964 Igutech By Bhanaviya

    Task: Respond to a request for outreach help from Team 6964

    Recently, Iron Reign received a request for advice on how we run our outreach events from FTC Team 6964 Igutech from Bethlehem, Pennsylvania. They are organizing their first outreach event for a STEM club at a local middle school and reached out to us to ask our team on how we organize our outreach events.

    As a team that has participated in several outreach events around the greater Dallas area, we were happy to respond. We started out by explaining the activities we have at our events - this includes bringing Big Thought's mobile learning lab, the MXP, to the event location and using its resources to teach students how to 3D-model a keychain using ninjaflex and block program a LEGO EV3 robot (similar to the kind used in FLL), and demo-ing our competition robot, and on occasion, letting kids test out the controls themselves by driving the robot around. Something that our team takes pride is being able to get students with little to no background in STEM interested in robotics. As such, in our correspondence to Igutech, we made sure to emphasize that one thing Iron Reign focused on was trying to create an interactive experience for all participants involved.

    Next Steps

    We were very gratified by Team 6964 reaching out to us about the plans for starting off their outreach program. Being able to connect with teams so far outside the NTX region like 6964 in Pennsylvania served a good opportunity for our team to realize just how expansive the FIRST community is. We wish Igutech the best of luck for their first outreach event, and we look forward to hearing from them soon.

    Swivel Mount

    26 Nov 2019

    Swivel Mount By Aaron

    Task: Design a swivel mount to improve the degrees of freedom on the gripper

    After the recent competition, we realized that a good way to increase precision would be to add, of course, another axis of rotation. This was the most efficient way to be more precise and pick up a stone from all angles. With a swivel mount, the gripper would be able to rotate on the y axis, via a servo. We already have a simple mount that rotates on the x axis, not motor driven, that utilizes gravity to automatically align the stone with the tower in stacking it, however we realized that a lot of time during teleop was wasting in trying to achieve the right angle at which to grip the stones.

    The way we achieve a swivel mount is by mounting a servo facing downward directly onto the gripper, and yes, direct drive is never really a great idea and maybe the easiest thing to do right at that moment was to just mount it directly to the gripper but a swivel mount is a more universal solution for when the gripper needs to turn a certain angle. The only problem is that we also use a servo to actuate the gripper arm mechanism, meaning that we will have a wire that will limit the rotation of the gripper itself. We could get an itty bitty slip ring if we really wanted to, but in reality we don’t see ourselves actually needing the full three hundred sixty degrees of motion.

    Next Steps

    Now that we have a swivel mount, our next step is to test, test, and maybe even test it. We don't know what degree of control we have on the swivel mount so testing it out will help us analyze what changes need to be made on our gripper.

    Finger Gripper Version 2

    26 Nov 2019

    Finger Gripper Version 2 By Jose

    Task: Design a swivel and add ninjaflex parts to improve the finger gripper

    From what we learned at the Allen Qualifier the gripper needs some major improvements before it will work at its max performance. The first change that needs to be made is replacing the current grip material with some more flexible material, such as ninja flex which we have used before as a gripping material. The print we have on the gripper is large but when the gripper closes its flexibility allows for it to grip the stone much better.

    The second improvement was to add a swivel to the entire gripper. This was done by adding some REV beams to the top of the gripper and attaching those beams to a servo. After some experimenting with the placement of the new, larger gripper we found a place that gives it over 180 degrees for motion. This will prove to be useful as not even the turntable will have to be turned to grab a stone, increasing the amount of stones we can score.

    Next Steps

    We need to implement some code that will allow a second driver to control the swivel as well as add some articulations now that we have a new degree of freedom. Additionally, we will need to add a damper to the oscillatory motion of the whole subsystem while in action.

    Adding to TomBot model

    27 Nov 2019

    Adding to TomBot model By Ben

    Task: Update the current robot model

    Prior to updating the model, the model purely consisted of the chassis and the primitive turntable. Since then, both the turntable and chassis have been updated to reflect the current state of the robot, along with the addition of the elbow and slide. The elbow component consists of GoBILDA shafts, gears, and connectors, along with the logarithmic spiral. The elbow can be seen below.

    The next addition is the linear slide. This consists of different slide components which were taken from a model constructed in PTC Creo and a linear slide gear mount. The slide can be seen below.

    With this updated model, it will be much easier to develop strategies based on different articulations since we can now accurately visualize the robot. The updated model also allows coders to better visualize the robot, increasing programming efficiency.

    Next Steps

    As you can see from the model above, there is no gripper. Our next steps will be to model the gripper which is to be constructed and attached to the next version of the robot.

    Allen Qualifier Post Mortem - Code

    27 Nov 2019

    Allen Qualifier Post Mortem - Code By Jose and Cooper

    Task: Analyze our strengths, weaknesses, opportunities, and threats for our code at the Allen Qualifier

    Fresh off our first qualifier at the Allen STEAM Center, we decided to begin a SWOT (Strengths, Weaknesses, Opportunities, Threats) analysis for code. While we will have other posts specifying what issues we needed to debug after the qualifier, and what articulations we need to implement within our code, this article mainly focuses on our code progress at the qualifier, and what can be improved in time for the next qualifier.

    Strengths

    • We have completely overhauled our codebase to be completely compatible with TomBot
    • We know how to use state machines to code autonomous much easier

    Weaknesses

    • Our autonomous only scores 5 points
    • We had few driver enhancements so many manual overrides were used

    Opportunities

    • We can have a tower height variable that makes the arm go to a certain height when stacking
    • We have plenty more things to do during autonomous and can make use of the turntable to make it faster
    • We can use a color sensor directly on the stone gripper to detect skystones during autonomous

    Threats

    • Any team with a 5+ point autonomous
    • 7172, they have many of our ideas for code improvements already implemented

    Next Steps

    Focus on building upon our opportunities, and begin creating plans for future articulations (which will be detailed in a later post).

    SEM Robotics Tournament

    27 Nov 2019

    SEM Robotics Tournament By Coach and Bhanaviya

    Qualifying Tournament needs Volunteers!

    Iron Reign (team 6832), The School of Science and Engineering and the Dallas ISD STEM Department are happy to announce that we are hosting our third annual FIRST Tech Challenge qualifying tournament at our Townview campus on December 14th. Thirty Two North Texas robotics teams will compete for awards plus approximately 4 or 5 advancements to the Regional Championship to be held in February, and 4 advancements to the Wildcard Qualifer for another chance.

    This is the third time our school has hosted an official qualifying tournament and we will need your help to make it a first-rate experience. This is a full day event on Saturday, December 14. There are also options to help with setup Friday afternoon December 13. Please feel free to circulate this message to everyone in the SEM community who can contribute their time and expertise. And if you can suggest a business that might want to sponsor the event, we'll be happy to talk with them.

    Volunteer Roles

    One group of volunteers that support the running of robot matches include referees, score keepers, inspectors, field managers. Some of these roles require training and certification and we will generally draw from mentors already involved in FTC. Other roles supporting match play do not require training and include field management, pit management and queue management.

    Another group of volunteers will support judging of teams for awards. Judges can be drawn from industry or academia and can have an engineering background or a general business backround in a technology industry. Judges assess the merits of teams' robots, their engineering process and journal, their strategic decisions, team dynamics and outreach. Judges will be led by a Judge Advisor, but will need to understand the awards criteria ahead of time.

    Another group of volunteers will support the event overall. This includes team registration, crowd control, DJ, photography, A/V support, floaters, runners, concessions, load-in/load-out crew, etc.

    This is just a summary of the most common roles, but there are many specialty roles. Full volunteer info can be found here.

    For some roles it helps to understand the run-of-show for the day.

    How to sign up as a volunteer

    FIRST is the governing body of these competitions and they have a volunteer sign up system so that we can assure that all roles are filled by vetted volunteers. We are trying to get all volunteers processed through this system. It does involve creating a FIRST account if you have not previously done so.

    Please sign up for as many roles as you feel comfortable fulfilling. We may need to be flexible with assignments depending on who is available and which roles can be fulfilled by our regional managing partner. Students may volunteer for certain roles and as event hosts, Iron Reign team members will be supporting the event throughout the day.

    To begin, go to the volunteer signup page for our event: https://my.firstinspires.org/Volunteers/Wizard/Search/2?EventId=47076

    If you have not previously registered with FIRST, you'll need to sign up / register and activate your account first. Then you can go back to the link above and indicate your preferences. We truly need your help and look forward to working with you to create a great tournament for our students. We hope this event will showcase SEM as the premiere home for future scientists and engineers.

    All our Thanks,

    Karim Virani and Cathy Lux

    Location

    Tournament day is very involved for the teams and volunteers. Here is a typical schedule of the day:

    • 7:00 Doors open for volunteers
    • 7:30-8:30 Teams arrive, register and load their robots and gear into the pit areas
    • 9:00 - 10:30 Teams present their robots to Judges for the awards competition. They also get their robots inspected and approved for the robot game
    • 10:30 Opening ceremonies and then qualifying matches of the robot game begin. Judges are observing teams in their pits and on the competition field
    • Noon - Lunch will be provided for the teams and volunteers. Judges share information with each other about the teams they interviewed.
    • Afternoon - qualifying matches continue until each team has competed 5 times. There are 4 robots per match and we'll have two alternating competition fields to speed things up.
    • Mid-to-late afternoon is Alliance Selection, top teams from qualifying rounds will build alliances to compete in the elimination / playoff rounds. Judges continue deliberating.
    • Playoff rounds usually take a bit over an hour
    • Closing Ceremonies and Awards
    • Pack up fields and equipment

    We plan to end the tournament by 5:30pm, but events often run long. All volunteers are encouraged to stay until the end of the tournament - it's at the awards ceremony where it becomes clear how much your service matters. But it's not required if your role is completed earlier in the day.

    Finger Gripper Version 3 CAD

    28 Nov 2019

    Finger Gripper Version 3 CAD By Jose

    Task: Design a more comapct and efficient gripper design

    This version of the finger gripper is going to be mostly custom made to make it as simple and as compact as possible. This is just the CAD model of the actual design and we plan to update a little more before we can actually make the physical change on the actual gripper. The design remains the same but the gripper now has a new addition, a capstone deployer. The idea is to have the capstone preloaded on the gripper and have a mini servo drop it on the last stone we are placing. The design of this capstone is in another blog post, but the idea is to make it as small as possible to not make the gripper much larger.

    Next Steps

    We need to make this design perfect before printing, once that is done we can do so and begin its implementation on the robot.

    Creating a Robot Handle

    29 Nov 2019

    Creating a Robot Handle By Paul

    Task: Create a handle for the robot to make it more inspection-worthy

    The robot handle is a revolutionary piece of precision engineering, designed to allow the robot to lifted by a carbon-based linear motor, known as a human arm. The handle is made of a composite material, consisting of a matrix of polyurethane fibers surrounded by a carbon-based synthetic thermoplastic polymer sheath. This cording material shall henceforth be known as “Bungee cording”. This “Bungee cord” is wrapped around two aluminium support struts to ensure structural stability and ensure that the forces induced by the carbon-based organic linear motor don’t exceed the ultimate structural limits of the attachment points, which would result in the uncontrolled acceleration and subsequent sudden deceleration when the robot impacts the surface below. This would be bad because the robot is expensive and the ground is usually hard.

    This bungee cording helps protect the puny little meat sticks we call fingers, because for some reason that getting your fingers sliced open by the robot is bad or something. The meatbags that our team consists of need to be protected as per FTC regulations.

    Next steps:

    Enhance the carbon-based organic linear motors so our engineers can lift the robot without looking weak. Also maybe a little more padding to help protect people’s fingies.

    Bill of Materials

    30 Nov 2019

    Bill of Materials By Bhanaviya, Trey, and Jose

    Task: Create a list of parts needed for the new robot

    To determine all the materials we need for the new robot, we started a Bill of Materials. To do this, we first analyzed TomBot sub-system by sub-system. We determined the parts used for each sub-system and placed it into a spreadsheet. Upon doing this, we needed to get each part's exact measurements so that we could save time when trying to cut the new parts. Additionally, we needed the quantity of each part as well as which manufacturer it was from. Something new about the new robot is that we hope to have a completely CNC-ed bot with as many custom parts as we can incorporate. Using a good number of custom parts will allow us to be more creative with the robot design itself since everything we add to it will be custom-printed. This will also allow us to improve our engineering process as we iterate through multiple different versions of a part. This was critical because at the end of the day, the task was to build a better version of TomBot but using, more or less, the same parts.

    Next Steps

    We will update the bill as we iterate through more parts. As of now, TomBot has several build issues that will be discussed in our post-mortem posts. Part of rectifying these issues includes ordering/printing more parts and editing the bill accordingly.

    Capstone Version 3

    30 Nov 2019

    Capstone Version 3 By Jose

    Task: Design a minimalistic capstone that can be deployed by the stone gripper

    This version of our capstone is to be 3D modeled and printed as well as be as compact as possible to be deployed by the gripper. The basic idea is that the capstone is flat while meeting the minimum size for length and width. The capstone will be an 'I' shape to fit around the nubs of a stone. From here a small beam will be attached on the hole which is extended out of the 'I' as shown above. This will be 3 inches long, making this capstone technically legal. This capstone is small enough to allow another capstone to be placed on top if needed.

    Next Steps

    We need to fully 3D model this capstone and change the bottom of the gripper so it can be deployed easily.

    Short-term Post-Mortem Talks

    30 Nov 2019

    Short-term Post-Mortem Talks By Bhanaviya, Cooper, Paul, Aaron, Ben, Jose, and Trey

    Task: Begin analyzing our performance at the Allen qualifier

    It’s officially been a week since our first qualifier at Allen. Although we succeeded in qualifying there’s still a lot of work to be done before it we’re ready for the regional championship. Before we could begin any preparation for regionals, we needed to start off by analyzing our performance at Allen. To do this we created a SWOT (strengths, weakness, opportunities, threats) analysis.Today was simply a short-term version of this analysis and there will be a separate post detailing our comprehensive post-mortem analysis as well as other post-mortem posts for our build and code subdivisions.

    We started off by analyzing our performance at judging. In the past, timing is an issue we’ve struggled to nail down during judged presentations. As such, this year we worked to make our presentation as concise but thorough as possible. During the actual presentation, while we hit the 5 minute mark there were other areas in which we could have been improved - particularly, our robot demonstration and our ability to explain our build decisions with calculations. To solve this, we plan to design a research poster for regionals which explains our mathematical reasoning for every aspect of the robot. The poster will allow us to allude to our calculations during both presentations and pit visits. As for robot demo, it is more a matter of being prepared with working controls which is an issue we will cover in our long-term post-mortem.

    On the short-term, we also plan to better organize our bill of materials which will streamline our process of building our new robot. For reference, TomBot is our current robot. Before regionals, we plan to build a similar circular-chassis based robot but with more custom built parts which we plan to design using our new CNC mill.

    On the issue of drive practice our solution is simple, effective and fully on-track with the Iron Reign way: double it and try not to break the robot. In all seriousness, the only way to resolve lack of drive practice is doing more of it. Part of this includes documenting our driver practices with statistics for us to better analyse our progress (or lack of thereof).

    The final issue we discussed during today’s post-mortem talks was how we plan to organize our schools qualifier on December 14 . Although this isn’t related to our performance at the Allen Qualifier, our experience at the tournament allowed us to better understand what needs to be done to get all 4 of our teams ready to host a 31-team qualifier. Part of this includes all members registering for roles as well as ensuring that we have monitors, playing fields, and enough adult volunteers to pull off the whole event.

    Next Steps:

    Over the course of next week’s meeting, we will finish our post-mortem talks and will continue our preparations to host the Townview Qualifier. In addition, we will also detail our SWOT analysis on this blog when our post-mortem talks are finished.

    Allen Qualifier Post Mortem

    07 Dec 2019

    Allen Qualifier Post Mortem By Karina, Bhanaviya, Jose, Ben, and Paul

    Task: Plan for upcoming tournaments

    So our Allen qualifier was a success! Iron Reign won the Inspire Award, which we are so honored to have been given. We did a detailed SWOT analysis to identify our strengths, weaknesses, opportunities, and threats.

    Strengths

    • Preparation
      • Earlier preparation of the engineering journal
      • Productivity greatly increased under pressure
      • Everything was up on blog
      • Content was organized well
      • Functional robot
      • Judging box was prepared and had everything we needed
    • Judging
      • We were effectively able to communicate the reason behind our robot's unique shape
      • Good transitions between ideas
      • We were able to talk fluidly about our robot despite not having speeches prepared
      • Able to redirect judges to specific highlights
      • Storytelling abilities kept judges engaged
    • Robot Performance
      • We passed inspection the first time around
      • Physical build was solid
      • Focused on building/improving even throughout the competition
      • Great teamwork - everyone was coordinated and on task
      • Batteries were charged
    • Scouting and Pit Engagement
      • Good at queueing one another during pit visits
      • Demo worked better than at presentation
      • Scouters got to all the teams

    Weaknesses

    • Preparation
      • Workspace is realy disorganized which made it hard to find tools and equipment that we needed
      • No drive practice until the morning of the tournament since gripper was only mounted then
      • Not enough people for load out
      • Control Award submission
      • Missed items on the checklist for materials
      • Lack of rest
    • Judging
      • Redirected to topics that don't have a lot of substance
      • Not enough calculation based posts to talk about
      • Lack of driver statistics documentation
      • Hand off between different speakers could be smoother
      • Did not clearly discuss our focus on sustainability of the MXP
      • Robot demo did not work since chains fell off
    • Robot Performance
      • All drivers need to learn game strategy
      • Poor wire management
      • Compact design was also the reason behind the turn table knocking chains off of wheels' sprockets
      • Set screws came loose often
      • We had no autonomous at the beginning of the day
    • Scouting and Pit Engagement
      • Need to be more systematic about checking team's claims
      • Did not get video of all of our matches personally
      • Not enough people at the pits to represent the team
      • Unable to seed questions
      • Lacking in enthusiasm
      • Pits were a mess with backpacks thrown all over

    Opportunities

    • Preparation
      • Taking up more afterschool and Sunday practices
      • Allocating more time to preparation in the weeks before competition instead of days
      • Preparing a pit design to optimize organization and places to put up banners
      • Create business cards for handouts
      • Post-event follow through: plugging in phones, charging batteries, etc.
    • Judging
      • Be more aware of what a judge is looking for/what award they are judging
      • Make our binder stand out - aesthetically and by creating helpful guides such as a robot manual
    • Robot Performance
      • Allowing time for driver practice
      • Making sure that everyone gets enough sleep the night before competition
      • Test grippers
      • Better collaboration with alliance partners
      • Control swivel mount on gripper
      • Fully automatic gripper with distance sensors
      • Turn-table needs to stay in position while robot turns
      • Completely CNCed robot (base - polycarb with aluminum sides)
      • Dampen swing on gripper
      • Make model for gripper before build
      • Articulations - more accurate presets specifically for elbow
      • Create a bill of materials with links
    • Scouting and Pit Engagement
      • Design pit layout ahead of time
      • Dress up our pit with tent and banners
      • Have a laptop ready with important info
      • Detailed accounts for each match we do/play by play
      • Have someone assigned to watch matches so that we can personally gauge other team's strength, weaknesses, opportunities for collaboration, etc.
      • Take the chance to talk to other teams
      • Make use of a scouting app

    Threats

    • Preparation
      • Not getting focused until it is too late
      • Busy schedules
      • Not being able to prioritize
    • Judging
      • Rushing through important ideas because of the time limit
      • Judging panel is always an uncertain variable
    • Robot Performance
      • High performing teams
      • Time management
      • Acquisition of all parts
      • Enough time for modeling all the robot parts
    • Scouting and Pit Engagement
      • Sitting around looking at phones looks like disengagement even if we are researching stuff
      • Lack of robot data and statistics to present potential allies with might drive them away

    Next Steps

    We're at the point now where we are prepping for our regionals tournament. Thankfully we will have another opportunity to test out TomBot at the ____ qualifier. Between the work we do now and up until the regionals tournament, we hope to achieve a full autonomous with greater stacking capabilities.

    Capstone Iterations

    07 Dec 2019

    Capstone Iterations By Bhanaviya

    Task: Go over all 3 of our capstone iterations

    So far, we have experimented with 3 capstone models. While we do not intend to use all 3 of these models, they allowed us to effectively implement the engineering process on our robot. Although the capstone isn't physically a part of a robot, its various iterations influence the model of the gripper being used since the ideal gripper must be able to pick up both the skystones and the capstones over the duration of a match. As such, this article analyzes these designs to help us determine which gripper is best for use at our next qualifier on January 11.

    1) Aaron's Super Cool Capstone That Works 100% Of The Time

    The capstone that we made and used at the competition wasn’t the prettiest thing, but it had heart, and was destined for greatness. It was constructed from prototyping wire and duct tape. The basic design was a ring with a spherical top over it in order to not fall off when dropped onto the tower. It also had four large screws on each side in order to weigh down the capstone so as to not slip or slide off the tower when dropped. While this capstone was firm in structure, it requires a lot of precision to be placed on top of the stone itself. Since this year's game is very speed-based, a precision-based capstone is not the most effective.

    2) Jose's Super Cool Capstone That Works 100% Of The Time

    The next capstone was custom-designed and printed at our very own Robo Dojo. Simply put, it is a much flatter, rather 2D version of a skystone. It had two large rectangles in the center to drop onto both the stubs of a stone on a tower. It also has a small rectangular tab at its edge which will allow the gripper to pick it up. But given its shape, an issue would be the ability of our gripper to pick it up and drop it onto the tower without tipping over the entire stack. Once again, while it was destined for greatness, it was not built for the unrelenting force that is time and it would take too much control and seconds to be capped onto a tower.

    3) The I-shaped Capstone That Works 100% Of The Time

    Our latest capstone design is also custom-designed and 3D-printed out of nylon. Structure-wise, it is a flat 'I'. But in terms of capacity, it is the easiest of our capstone models to be picked by the gripper and drop onto the skystone. This capstone aims not to be dropped on the stubs of the stone but rather in in the middle of the capstone where it requires less precision to be dropped and is less likely to fall. It comes with a small tab similar to the one on our second capstone which allows the gripper to pick it up with ease.

    Next Steps

    Now that we have analyzed all of our capstone designs so far, it will be easier for us to streamline which design will be the best to implement on the robot. Right now, we are leaning towards the I-shaped capstone since it's less precision-based, smaller, and easier to be picked up by our current finger-gripper.

    Future TomBot Articulations

    07 Dec 2019

    Future TomBot Articulations By Cooper

    Task: Plan out potential robot articulations to improve game strategy

    Getting back from the tournament, we were able to immediately start to think about what was the big problems and possible improvements to the articulations of the robot. Overall, we ended up coming up with several ideas, both for fixing things and for efficiency.

    1- Turntable Articulations

    In the competition, we realized the extreme convenience that having some articulations for the turret. Not to say that we hadn't tried to make them before the competition, we were having some issues writing them. plus, even if we didn't have those convene, it would have been improbable that we would have gotten them tuned for the competition. Anyways, even though we agreed on needing to have these presets, we could not agree on what they should be. One argument was that we should have them field-centric, meaning that it would stay in one position from the POV of the audience. This was cited to have a good number of use cases, such as repetitive positions, like the left/right and forward of the field. However, another idea arose to have them be robot-centric. This would allow for faster relative turns.

    So, what we've decided to do is write the code for both. The field-centric will be turns and subsequent static positions will implement the IMU on the control hub mounted to the turret. The robot-centric version will be based on the tick values of the encoders on the turret's motor. Then, we will have the drivers choose which one they prefer. This we believe is effective, as it will allow for a more consistent use of the turntable for the driver.

    2- Move to Tower Height Articulations

    this is one of the more useful Ideas, which would be to extend the arm to the current height of the tower. How would we do it? Well, we have come up with a 2 step plan to do this, in different levels of difficulty. The first one is based on trig. We used the second controller to increment and decrement the level of the current tower. That value is then used in the extendToTowerHeight() method, which was written as the following:

    public void extendToTowerHeight(){ hypotenuse = (int)(Math.sqrt(.25 * Math.pow((currentTowerHeight* blockHeightMeter),2)));//in meters setElbowTargetPos((int)(ticksPerDegree*Math.acos(.5/ hypotenuse)),1); setExtendABobTargetPos((int)(hypotenuse *(107.0/2960.0))); }

    As you can see, we used the current tower height times the height of a block to get the opposite side of the triangle relative to our theta, in this case the arm angle. The .25 is an understood floor distance between the robot and the tower. This means that the arm will always extend to the same floor distance every time. We think this to be the most effective, as it means not only that the driver will have a constant to base the timing of the extension, but we minimize the amount we have to extend our arm. If we assumed the length of the hypotenuse, there would be overextension for lower levels, which would have to be accounted for.

    The next phase of the design will use a camera to continue to extend the arm until it doesn't see any blocks. not only will this allow for a faster ascension and more general use cases, It will eliminate the need for a second controller (or at least for this part.

    3-Auto-grab Articulation

    Finally, the last one that we came up with is the idea to auto-grab blocks. To do this we would use vison to detect the angle and distance that block is away from the robots back arm and extend to it. Then rotate the gripper, snatch it and reel it back.

    Next Steps

    Use a culmination of drive testing and experimentation to refine the robots movements and ultimately automate the robot’s actions.

    Townview Qualifier 2019 - Set Up

    13 Dec 2019

    Townview Qualifier 2019 - Set Up By Ben, Jose, Karina, Justin, Bhanaviya, Cooper, Paul, and Trey

    Task: Prepare Townview for the upcoming qualifier

    Tomorrow, December 14th, Iron Reign will be hosting the 2019 Townview Qualifier. 31 teams will be competing and we expect several hundred people to attend the event. We have recruited volunteers from Imperial, Iron Core, and Iron Golem, along with PTSA volunteers from our home schools, SEM and TAG. For our competition, we required over 31 individual tables for each team, 4 queuing tables, and about 6 other tables for snacks, equipment, and inspection. Three fields were also set up, two were brought in as competition fields, set up in the main cafeteria, while the third was provided by Iron Reign as a practice field in the far corner of the cafeteria. Two large monitors were provided by the schools to display match information during matches, along with live results, while the other was used to display inspection status and ranking. The competition fields were setup to the east of the cafeteria with several rows of chairs for spectators. Behind the fields were 4 queuing tables, two per field. We initially placed 4 chairs at every team table, however, more were available along the walls for teams to use. On every team table, we placed 2 signs with the team numbers of the team assigned to that table. Teams were organized by team number to make queuing easier.

    A tournament also required judging rooms. Because the tournament was on the first floor of the building, we transformed 5 classrooms into judging rooms. This usually meant moving many of the tables and chairs off to the side to allow teams and judges to move easily about the room. We posted maps around the building and marked every judging room with the judging room number.

    Next Steps

    Although we finished most of the preparation, there are still a few things left to do. We will need to construct a map of the pits, transport volunteer supplies (like snacks and water), and provide training for volunteers.

    Townview Qualifier 2019 - The Day Of

    14 Dec 2019

    Townview Qualifier 2019 - The Day Of By Bhanaviya, Jose, Paul, Aaron, Justin, Trey, Ben, Karina, Cooper, Jayesh, Tycho, and Max

    Task: Run the Townview Tournament

    On Saturday, December 15, Iron Reign hosted 31 teams and 300 students at the Townview Magnet Center, our home school's campus. With 31 teams, this was one of the biggest qualifiers in the North Texas region. A video play-by-play of the matches can be found in a separate entry here. This entry serves more as a description as to how we got to the point of hosting the qualifier and what to consider when hosting one.

    To start off, a full-fledged qualifier requires a large number of volunteers - both student and adult. While there are certain roles that are limited to adults only, many roles need a good number of younger volunteers - especially queuing and judging assistance. If the host team is not participating in the qualifier, then a good way to meet this cap is to recruit from a school's robotics program. In our case, student members from the Iron Reign Robotics program filled in positions such as game announcer, emcee, disc jockey, concessions, and around 10 queuers and runners. Prior to the start of match-play all our members helped with judging assistance. This includes ensuring that all teams are queued up on time outside their judging panels and ensuring that all teams have gone through field and robot inspection. This helps ensure that all teams are on schedule for the start of match-play. Below, you can see what specific roles which Iron Reign members helped fill during the tournament:

    Townview Qualifier Member Work Log

    Team MembersTaskStart TimeDuration
    KarinaReferee7:0012 hrs
    JustinQueuer and Runner7:0012 hrs
    BhanaviyaEmcee and Queuer7:0012 hrs
    BenQueuer and Queuer7:0012 hrs
    JoseGame Announcer7:0012 hrs
    CooperQueuer and Judge Advisor Assistant7:0012 hrs
    AaronQueuer and Runner7:0012 hrs
    PaulDisc Jockey7:0012 hrs
    TreyQueuer and Runner7:0012 hrs

    A good qualifier also needs adult volunteers. We had 2 judges in 4 judging rooms and one room with 3 judges. In addition, we also had 6 referees and one scorer. All of these are adult roles which meant we had to seek volunteers from a variety of sources including prior FTC Tournaments, alumni from our team, and even our own families. All adult volunteers must go through background checks as well as complete other training certifications on the FIRST website so this proccess must start at least 3 weeks in advance to recruit enough volunteers. To do this, we posted a request for volunteers on this blog for any visitors to our website to sign up.

    Fresh off of the Allen Qualifier, we knew the pressure that teams felt at a qualifier - whether its caused by a lack of driver practice, tools or just undulated anxiety, we wanted to alleviate this stress. So, we ensured that a practice field set up away from the pit area for teams to practice right before their matches. We also kept a spreadsheet with inspection results on 2 monitors in the pits so that teams could be updated, and made pit maps so teams could find one another. These maps are also helpful to runners who need to find teams to queue them for their matches or for their judging panels. With so many members of our team floating around the pits, we were also able to provide any build or code assistance to teams who might need it. Finally, one trait all FTC team members share on the day of qualifier is the perpetual need for sustenance so we collaborated with one of our school's, TAG, PTSA to set up a concessions stand while the DISD STEM Department ensured that all volunteers received lunch.

    Next Steps

    By the end of the qualifier, we were able to advance 4 teams to the North Texas Regional Championship, and another 4 to the Wildcard Qualifier on February 1st. The qualifier could not have gone as smoothly as it did without the help of all our volunteers for committing so much of their times on a weekend to promote FIRST and STEM. We'd also like the DISD STEM Department for proving all our volunteers with breakfast and lunch, to The School of Business and Management and our sponsor, Mr John Gray, for supporting the event. Finally, we'd like to thank our coach Mr Virani for managing all of the logistics for the event, including its set up and the qualifier itself.

    Third Annual Townview Tournament a Success!

    15 Dec 2019

    Third Annual Townview Tournament a Success! By Coach and Bhanaviya

    Thank you to all our volunteers!

    Thank you to all the volunteers that gave up their Saturday to contribute to the FTC community in North Texas. Because of you this tournament was a rousing success. We served 31 area teams and 300 students. We advanced four teams directly to the Regional Championship in February and gave another four a second shot at the Wild Card tournament. More importantly, all teams received a fair chance at competing with excellent Judging and Refereeing - and we are certain that all of them learned how to improve. We really could not have done this without our volunteers carrying the load.

    We extend our deepest appreciation to all volunteers, to the business school and our sponsor for supporting the event, to the TAG PTSA for providing concessions, to the leadership of SEM for hosting and to the STEM Department for feeding our volunteers and Dallas ISD students.

    -Karim Virani, Dr. Catherine Lux, and the students of Iron Reign, Imperial Robotics, Iron Core and Iron Golem

    For those interested, the full standings are up on The Orange Alliance and awards should follow soon.

    We also were doing a test of streaming for future tournaments in our region. Because we had little time to set it up, there were issues with quality on one camera and a complete lack of audio for about half of the tournament. But most of the matches are visible (with the exception of the final match) and most of the awards ceremony was audible. We know what to improve and can hope for a better stream at some following tournaments. Here is what we got:

    Turret IMU Code

    22 Dec 2019

    Turret IMU Code By Jose and Abhi

    Task: Code some driver enhancements for the turret

    With the return of the king(Abhi - an alumni of our team) we were able to make some code changes, mainly dealing with the turret and its IMU since that is our current weak point. At first we experimented with field-centric controls but then realized that for ease of driving the robot, turret-centric control are necessary. After a few lines of code using the turret's IMU, we were able to make the turret maintain its heading, as the chassis turn, so does the turret to maintain its position. This is useful because it will allow the driver to turn the chassis without having to turn the turret as well.

    Next Steps

    We must continue tuning the PID of the turret to allow for more stable and accurate articulations.

    Finger Gripper Version 4 CAD

    25 Dec 2019

    Finger Gripper Version 4 CAD By Jose

    Task: CAD a slightly different capstone version to improve upon v3's issues

    On this minor update to our flat gripper design a dropper for the latest capstone was added. Our capstone design (which can be seen here: E-65 ) is minimalistic to allow it to be placed on the gripper and only deployed until the last stone in the match is placed to cap it. The basic idea for this capstone dropper is to have a bar which has the number 6832 on it to match the 6832 indent on the capstone. This dropper will keep the capstone in place until the gripper is opened to beyond 45 degrees. To allow the gripper to actually close, a triangle was cut off the dropper as seen in the image above. Here is the final design:

    Next Steps

    Once the design is finalized(there may be a 5th version if a change is needed) this will be 3D printed and will replace the current gripper on the robot.

    Materials Test Planning

    26 Dec 2019

    Materials Test Planning By Bhanaviya

    Task: Create a system to test our materials to better understand their grip potential

    Here at Iron Reign, we're used to using off-the-shelf materials for our robot. For this season, these include silicon oven-mitts and ice-cube trays, since we find these grip skystones pretty well. However, we need to do a thorough investigation of these materials before we can determine their efficacy on the robot.

    Specifically, we plan to implement these parts on the underside of our gripper, to improve its friction when in contact with a stone. Our current gripper uses parts of ninjaflex gears but these aren't the most effective in picking up stones quickly. This is a bit of a concern since this year's game is so speed-based. As such, the time has come for us to replace the material on our gripper. However, before we can decide which material would have the best grip, we need to test them to determine their on-robot properties. To do this, we will implement a slip test as shown below.

    The main thing that we want to test is the amount of energy they have while rotating and then the amount of energy they lose upon collision. We plan to test this through the coefficient of friction of the mitts. Simply put, we will place the skystone on top of the of the silicon oven-mitts/ice-cube trays and will tape down the material being tested on a flat surface. Then, we will lift the surface and using simple inverse trigonometric properties, we will calculate theta, the angle at which the stone begins to slip from the material. The bigger the angle, the higher the friction coefficient of the material, which equates to it having better grip.

    Next Steps

    With our testing planned out, we will next begin documenting the angle at which the skystone slips from each type of material. The calculations from the actual testing, including the equation we used, will be inputted into a separate post.

    Code Developments 12/28

    28 Dec 2019

    Code Developments 12/28 By Cooper

    Task: Gripper swivel, extendToTowerHeight, and retractFromTowerHeight. Oh My!

    Today was a long day, clocking in 10 hrs continuously. In those ten hours, I was able to make tremendous progress. Overall, we have 4 main areas of work done.

    The first one gets it’s own blog post, which is the extendToTowerHeight, which encompasses fixing the 2nd controller, calculating the TPM of the arm, and calculating the TPD for the elbow.

    The second focus of the day was mounting and programming the swivel of the gripper. Aaron designed a swivel mount for the gripper the night after the qualifier, which was mounted on the robot. It was taken off by Aaron to finish the design and then today I put it back on, and then wired it. Once we tested to make sure the servo actually worked, we added a method in the Crane class that swivels the gripper continuously. But, since the servo is still a static one, I was also able to implement a toggle that toggles between 90, 0, and -90. With a couple of tests we were able to determine the correct speed at which to rotate and the code ended up looking like this:

    public void swivelGripper(boolean right){ if(right == true) gripperSwivel.setPosition(gripperSwivel.getPosition()-.02); else gripperSwivel.setPosition(gripperSwivel.getPosition()+.02); }

    The third development was the retractFromTowerHeight() method that was written. This is complementary to extendToTowerHeight, but is significantly less complex. The goal of this method was to make retracting from the tower easier, by automatically raising and retracting the arm, such that we don’t hit the tower going down. This was made by using a previously coded articulation, retract, with a call to setElbowTargetPos before it, such that it raises the arm just enough for the gripper to miss the tower. After a couple of test runs, we got it to work perfectly. The final order of business was the jump from ticks being used on the turntable to IMU mode. It was really out of my grasp, so I asked for help from Mr.V. After a couple of hours trying to get the IMU setup for the turret, we finally got it to work, giving us our first step to the conversion. The second came with the changing of the way the turntable moves, as we made a new low level setTurntableTargetPos() method, which is what everything else will call. Finally, we converted all of the old setTurnTablePos() methods to use degrees.

    Next Steps

    As of now both extendToTowerHeight() and the gripper swivel are good. On the retractFromTowerHeight(), it may be important to think of the edge cases of when we are really up high. Also, the turntable is unusable until we tune PID, so that will be our first priority.

    Extend to Tower Height and Retract from Tower

    28 Dec 2019

    Extend to Tower Height and Retract from Tower By Cooper

    Task: Develop the controller so that it can extend to tower height

    Since we have decided to move onto using 2 controllers, we can have more room for optimizations and shortcuts/ articulations. One such articulation is the extendToTowerHeight articulation . It takes a value for the current tower height and when a button is pushed, it extends to just over that height, so a block can be placed. This happened in 2 different segments of development.

    The first leg of development was the controller portion. Since this was the first time we had used a 2nd controller, we ran into an unexpected issue. We use a method called toggleAllowed() that Tycho wrote many years ago for our non-continuous inputs. It worked just fine until we passed it the second controllers inputs, as then it would not register any input. The problem was in the method, as it worked on an array of the buttons on the controller to save states, and there was conflict with the first controller. So, we created a new array of indexes for the second controller, and made it so in the method call you pass it the gpID (gamepad ID), which tells it which of those index arrays to use. Once that was solved, we were able to successfully put incrementTowerHeight() on the y button and decrementTowerHeight() on the x button. The current tower height is then spit out in telemetry for the second driver to see.

    Then came the hard part of using that information. After a long discussion, we decided to with a extendToTowerHeight() that has a constant distance, as having a sensor for distance to the build platform would have too many variables in what direction i t should be in, and having it be constant means the math works out nicely. So this is how it would look:

    Now, we can go over how we would find all of these values. To start, we can look at the constant distance measure, and to be perfectly honest it is a completely arbitrary value. We just placed the robot a distance that looked correct away from the center of the field. This isn’t that bad, as A) we can change it, and B) it doesn’t need to be calculated. The driver just needs to practice with this value and that makes it correct. In the end we decided to go with ~.77 meters.

    Then before we moved on we decided to calculate the TPM (Ticks Per Meter) of the extension of the arm, and the TPD (Ticks Per Degree) of the elbow, as it is necessary for the next calculations. For the TPM, we busted out a ruler and measure the extension of different positions in both inches (which were converted into Meters) and the tick value, then added them all up respectively and made a tick per meter ratio. In the end, we ended up with a TPM of 806/.2921. We did similar with the TPD, just with a level, and got 19.4705882353. With a quick setExtendABobLengthMeters() and a setElbowTargetAngle() method, it was time to set up the math. As can be seen in the diagram, we can think of the entire system as a right triangle. We know the opposite side (to theta) length, as we can multiply the tower height by the height, and we know the adjacent side’s length, as it is constant. Therefore, we can use the Pythagorean theorem to calculate the distance, in meters, of the hypotenuse.

    hypotenuse = Math.sqrt(.76790169 + Math.pow(((currentTowerHeight+1)* blockHeightMeter),2));//in meters

    From that, we can calculate the theta using a arccosine function of the adjacent / hypotenuse. In code, it ended up looking like this: .setElbowTargetAngle(Math.toDegrees(Math.acos(0.8763/ hypotenuse)));

    Then we set the extension to be the hypotenuse:

    setExtendABobLengthMeters(hypotenuse-.3683);

    While it has yet to be seen its effectiveness, it should at the very least function well, as shown in our tests. This will help the drivers get into the general area of the tower, so they can worry more about the fine adjustments. For a more visual representation, here is the position in CAD:

    Next Steps:

    We need to work on 2 main things. Tuning is one, as while it is close, it’s not perfect. The second thing to work on is using a custom vision program to automatically detect the height of the tower. This would take all the stress off the drivers.

    Testing Friction Coefficient

    28 Dec 2019

    Testing Friction Coefficient By Bhanaviya

    Task: Measure the coefficient of friction of our potential gripper materials

    We want to measure various constants of materials on our robot. These materials serve to improve the grip on our gripper. But before we can decide which material will be most effective on our gripper, we need to find the friction coefficient of these materials through a slip test. The slip test is detailed in a separate post in E-67. This article serves mainly to show the specific friction coefficient produced by each material in the slip test.

    To measure the coefficient of friction, we first had to simplify an equation to determine what values to measure.

    Based on these calculations, we realized that the best way to calculate friction coefficient would be by deriving the angle of incline at which the skystone begins to slip from the material, which is placed on a flat wooden board. If we take the length of the side of the board being lifted to be the hypotenuse, and the height at which the board is being lifted to be height, then theta, the angle of incline, is arcsin. As the board is lifted, the stone begins to experience slippage and the angle at which it slides off the material being tested will be marked as its friction coefficient. The higher this value, the more grip the material has.

    The materials we will be testing are a green silicon oven-mitt with hexagonal ridges, a red silicon oven mitt with small rectangular ridges, and an ice-cube tray with cubical ridges. The wooden board on which this the materials and skystone are being placed on has a length and width of 23.5 inches. This will be the hypotenuse for the purposes of this test.

    Green Silicon Oven-Mitt

    When the wooden board was lifted with this material on top of it, it took a height of 10.3 inches before the stone began to slip. Using arcsin, the angle of incline for this material was 26 degrees. By using the equation above, we can find that the coefficient of friction is tan(26) which 0.48.

    Red Silicon Oven-Mitt

    When this material was tested, the board had to be lifted 13.7 inches before the stone began to slip. The angle of incline for this material was 35 degrees so the coefficient of friction is tan(35) which is 0.7. Since this value is higher than the green oven-mitt, the red oven-mitt has the better grip.

    Ice-Cube Tray

    The board reached a height of 12.2 inches when the stone began to slip from the ice-cube tray. The friction coefficient for this material was 32 degrees, and its coefficient of friction was hence 0.66, putting it above the green oven-mitt, and slightly below the red oven-mitt in grip.

    Next Steps

    The material with the largest friction coefficient will be attached to the gripper on the robot. Since the red silicon oven-mitt had the largest angle of incline, this will be the material we will use in the next iteration of our gripper.

    Sliding Foundation Grabber

    28 Dec 2019

    Sliding Foundation Grabber By Trey, Jose, and Aaron

    Task: Design and create a more efficient and compact foundation grabber

    Moving the foundation throughout a match is an important part of the overall gameplay of a team. The builders on Iron Reign went through many different designs before reaching the one we have now. Early in the season, we simply settled for a simple hook attached to a servo on the front of the robot; however, this proved to be quite unstable. The foundation wobbled back and forth when the robot was in control of it and with this in mind, we went back to the drawing board. The second design we had in mind was a lot like the first but with two large, unwieldy, polycarbonate hooks that spanned at least four inches. These were often great at keeping a stable grasp on the foundation but they were made out of polycarbonate and flexed quite a bit and also were just too big in general.

    The design we have now consists of a sliding metal door that is controlled by a servo with a spool of string on it. The metal door models something of a guillotine that lifts to let the edge of the foundation in and then drops to secure it. This door, with its wide bottom, provides a great amount of stability and the base that its mounted to makes it so that the force inflicted by the foundation is passed into the base and then into the drivetrain. The fact that the grabber is not only attached to the servo but also fixed to the robot makes it so that the moving parts are less likely to snap or slip. And all of the components fit into a small space that should not be too much of an obstruction to the arm. Overall, this foundation grabber checks the boxes that the previous ones did not, It's compact, controls the foundation well, and definitely won't bend or snap.

    Next Steps

    No design for any part on any robot is perfect and this grabber is no different. The spool and string that is used to control the door is most likely temporary because there is probably a better way to open and close the door of the grabber. However, one thing that can and will be improved upon with the spool and string is that if provided with an upward force, the door of the grabber will open. This can be fixed by making the string on the spool continuous which will prevent this from happening by providing an opposite force, holding the door in place.

    Finger Gripper Version 2.1

    29 Dec 2019

    Finger Gripper Version 2.1 By Bhanaviya and Aaron

    Task: Replace the ninjalfex gears on the finger-gripper with a material with more grip.

    The finger gripper is the pinnacle of technological evolution, with class, durability and most importantly, metal. But it does lack one defining feature - grip. Currently, the underside of the metal plate on the gripper has parts from our ninjaflex gears used in Relic Recovery, and while it has all the refinement of an almost 3-year old part, it could be improved. Introducing the Finger Gripper 2.1, brought to you by Iron Reign. (although this change is being made after version 3 and 4 of our gripper, it is listed as 2.1 since 3 and 4 have only been designed in CAD and we are yet to translate this into a physical change.)

    On the matter of choosing which material to replace the ninjaflex gears with, we had 3 options to chose from. The first was a red silicon oven-mitt with rectangular ridges, a green silicon oven-mitt with hexagonal ridges, and an ice-cube tray with cubical ridges. To determine which material would work best, we put them a slip test, which can be found in E-69 . Of the 3 materials we tested, the red silicon oven-mitt had the largest friction coefficient. This makes sense, considering it had the sharpest ridges of the three, hence allowing it to grip the stone better. Hence, we replaced the material under our current finger gripper with a small piece from the red silicon oven-mitt. Although changing the material underneath the gripper seems like a minor design change, the improved grip will allow us to rely less on precision and more on speed during the actual game.

    Next Steps

    Next we will test the actual gripper to see if the material lives up to its results from the slip test. Once version 3 and version 4 of the finger gripper have been fully modeled we will print these designs and modify the gripper accordingly.

    Last Coding Session of the Decade

    30 Dec 2019

    Last Coding Session of the Decade By Cooper

    Task: Gripper swivel, extendToTowerHeight, and retractFromTowerHeight. Oh My!

    Today is the second to last day of 2019, and therefore the same of the decade. Thus, I want to spend it at robotics. Today I worked solely on vision testing and attempt of implementation. However they ended up being fruitless, but let me not get ahead of myself. To start the day, I tried looking at the example vuforia code that was provided. After which I hooked up a camera to the control hub to try any see it in action. We learned that in the telemetry, there are 2 lines of values spit out, which are the local position in mm and the XYZ values of the block. For the first bit of the day when we were testing, we thought to use the XYZ values, but they seemed to be unreliable, so we switched over to the local position. Once we had gotten that down and gotten a map of values of where the skystone would be, I tried to tailor the concept class to be directly used in our pipeline from last year, and then refactor all of it. But this didn’t work, as it would always throw an error and for the life of me I could not get it to work.

    Today wasn’t a complete waste, however, as I have learned a valuable lesson -- don’t be lazy. I was lazy when I just tried to use the example code provided, and it’s what ultimately led to the failure.

    Next Steps

    Take another stab at this, but actually learn the associated methods in the example code, and make my own class, so it will actually function.

    Assembling the Turntable Bevel Gears for a REV Motor

    31 Dec 2019

    Assembling the Turntable Bevel Gears for a REV Motor By Trey and Justin

    Task: Assemble the bevel gears to the turntable to fit a rev motor

    Today we assembled a second version of our bevel gear assembly for the turntable. Our previous design used an Andymark motor, which was very fast but couldn't provide enough torque for precise movement. The custom geared REV motors allow us to power the turntable with our desired torque. This is further explained in our Calculating Torque at the Turntable post dated 2020-01-01 . The Gobilda motor mount was designed to fit motors wit 6 evenly spaced mounting holes, while the new REV motors have 8. We decided that the most efficient solution was to mount a rev rail motor mount to the Gobilda channel. First we had to make sure the holes lined up and the motor shaft was centered in the channel; the holes lined up perfectly and centered the shaft in the channel. The sides of the motor mount were too wide and had to be cut to allow the mount to slide in the channel enough to line up the mounting holes. Due to the apparent standardization of mounting holes, we could easily mount our new motor to the gears. The rest of the assembly was just following the Gobilda instructions for assembling the bevel gears and bearings. We were ready mount the new motor assembly to the turntable.

    Next Steps

    Next we will remove the old motor assembly and replace it with the new one. We also need to test the strength of the mounting plate under the load of the turntable. We should also use the time with the turntable off to inspect the nylon gears for any wear.

    FIRST in Texas Grants

    31 Dec 2019

    FIRST in Texas Grants By Bhanaviya

    Task: Detail the FIRST in Texas Grants and understand how it will improve our business plan

    It's the last day of the decade! With a new decade, comes new money, and similar to last year, Iron Reign is supporting 3 sister teams, Imperial Robotics, Iron Core and Iron Golem, the latter two being veteran teams with rookie members. This programmatic growth also comes with a financial curve to overcome. As such, we've applied to the FIRST in Texas grants to find funding for all 4 of our teams. This allocates a total of $2000 for the Iron Reign program, but if Iron Core and Iron Golem are considered rookies due to their new members, then our program can receive around $4000.

    This, alongside the $3200 from University of Texas at Dallas for hosting the Townview Qualifier, the $200 GoBilda Product Grant and the the $4000 from DISD STEM Department, which covers our season registration fees, 4 REV FTC kits, and a full practice-field. This brings our total funding up to $11,400 for the Skystone Season . There is no end to how this funding can help with finding new parts, and investing in any machinery like our new CNC Mill. Additionally, since Big Thought our programmatic partner who owns the MXP vehicle, has agreed to invest in building a second, bigger vehicle for the program, this funding can also help us in improving our outreach efforts.

    Next Steps

    We have also reached out to other companies in our area for increased funding and we hope to expand on our business plan as the new year progresses. In the meanwhile, we here at Iron Reign wish everyone in the FIRST community a happy almost new year!

    Control Mapping v2

    01 Jan 2020

    Control Mapping v2 By Jose

    Task: Map out the new control scheme

    As we progressively make our robot more autonomous when it comes to repeated tasks, it's time to map these driver enhancements. Since we have so many degrees of freedom with TomBot we will experiment with using two controllers, where one is the main controller for operating the robots and the second handles simpler tasks such as setting the tower height and toggling the foundation hook.

    Next Steps

    We need to experiment with the two-driver system as well as implement a manual override mode and a precision mode where all the controls are slowed down.

    Calculating Torque at the Elbow

    01 Jan 2020

    Calculating Torque at the Elbow By Bhanaviya

    Task: Design an equation to model the torque at the elbow linearly

    In order to maximize our robot performance, we need to be able to use motors and gears with the most ideal gear ratios. This means having the right amount of torque to produce the most efficient performance out of our robot arm. As the arm extends, there is quite a bit of torque on the elbow. We want to model this torque as a function which will allow us to better analyze how much rotational force is being exerted on the elbow and whether the gear ratio of the gears at the elbow could be improved by using a different gear set.

    The torque at the elbow is a dynamic variable that changes as the arm is extended further and further. As such, we decided to model this equation as a function. Torque is generally T = Frsin(theta). F is force which can be derived by multiplying the mass of the arm (m) with g, the acceleration due to gravity. g can be otherwise defined as g = G, the universal gravitational constant, * (m/r * r). r is the distance from the center of mass of the arm when fully retracted to the axis of rotation, which is, in this case, the elbow. This value can be defined by 170.4 meters. However, since the center of mass changes as the arm extends, r is not a constant and as such can be modeled as C + x, where C is the constant for the center of mass when the arm is fully retracted increasing by x, wherein x is the value in meters by which the arm extends. C can be defined by 2358.68 grams. As the arm is extended, the axis of rotation is in motion so theta, the angle in degrees between the vertical and the position of the arm changes linearly and as such, cannot be represented as a constant. However, since this angle is more difficult to derive, and since the angle between the position of the arm and the horizontal is already shown in the code for the controls operating the elbow, theta can simply be stated as 90 - theta_0, wherein theta_0 is the angle between the horizontal and the position of the arm. The torque due to gravity at the elbow can be represented as the function T = 2358.68 grams g(170.4 meters + x)sin(90 - theta_0) wherein theta_0 and x are parameters which can be taken from the articluation positions.

    Next Steps

    Being able to model torque as a function will allow us to understand how much torque is needed for the robot to stack a certain number of stones. By identifying the non-constant values of the torque function, we will be able to analyze what specific values produce the best robot performance, as well as whether that performance can be improved by lightening the load on the arm.

    Logarithmic Spiral Update

    02 Jan 2020

    Logarithmic Spiral Update By Ben

    Task: Update the Logarithmic Spiral

    As the design and build of the robot progresses, many components must be updated to be compatible with the current design. The logarithmic spiral, which was used to linearly decrease the load on the elbow with a bungee cord, is one of these. The article for the original design is numbered as the 45th post in the engineering section and is dated 15-11-2019. Prior to updating the design, the part would interfere with the drive shaft for the elbow. This typically wouldn't have been a concern, as it provided a safe way to limit the movement of the arm, yet we have determined that we need a greater range of motion. To do this, we simply cut a small half-circle out of the spiral. This was a relatively simple fix which would allow us to stack the blocks higher, scoring even more points.

    The next fix was the mechanism for attaching the bungee to the spiral. We plan to attach a bungee from both the front and back of the spiral to generate a greater rotational force. A design issue we encountered was running a bungee to the back of the spiral. There was no simple method for attaching and containing the bungee. To overcome this, we decided we would attach the bungee to a string from the back of the spiral. The final spiral design required two individual machined parts. Each part would have a chamfered edge, forming a channel when the two were put together, allowing the string to run within that channel. The two parts would be connected using three new holes to prevent the string from wedging itself between the two.

    The image below highlights the changes made to the original part. The chamfers along the edge were added along with three holes to connect two of the parts. The half-circle is also highlighted. These changes should enable us to assist the elbow in lifting the arm with greater efficiency than with the previous version of the spiral.

    Next Steps

    Our next steps are to machine the two parts and determine how much tension we need on the bungees to generate enough torque to assist the elbow.

    Calculating Torque at the Drive-Train

    02 Jan 2020

    Calculating Torque at the Drive-Train By Bhanaviya

    Task: Calculate torque at the drive-train and analyze our choice of motors

    During drive-testing, one issue we noticed was that our robot was not as fast as could be, and in a speed-based game, this is not ideal. So, we decided to calculate torque at the drive-train, which currently runs on two Neverest Classic 40 motors. Currently, we are looking to replace these motors with REV HD Hex Motors with a 3-part cartridge. As such, we will find the torque acting on the drive train with both these motors to identify whether replacing the motors is the best choice, and if so, what combinations of a cartridge we ought to use on the new motors.

    Currently, we have 4 gear sprockets for the two 8-inch wheels on the chassis. However, since these are all of the same gear ratio, they do not need to be included in the calculations to find torque. The Classic 40 Neverest motors have a ratio of 40:1 and a stall torque of 2.47 Nm, both of which are values which can be found in the individual part specifications. Using this information, we can find that the torque acting on the drive train to be 2.47Nm * 40 which is a total rotational force of 98.8Nm.

    The Neverest motors give a significantly high amount of torque so looking to reduce it would help us increase the drive-train's speed which is our intended goal. A good replacement would be the REV Hex motors with the planetary cartridge but choosing the type of cartridge is the challenge. Ideally, three 3:1 cartridges would give the least torque but this combination would lack too much control. Especially since our supply of these catridges is limited, we want to choose a combination which gives a "good" amount of torque but also produces a decent speed. Currently, the Neverest motors are not slow and we only want a little more speed on the drive-train. Taking this into account, we want to choose a combination which is closest to the 40:1 ration but still falls under it. So, a combination of 3:1, 4:1, and 5:1 cartridges would be the best choice since it provides a compounded gear ratio of 36:1. Considering the stall torque of the Hex motors to be 2.1 Nm, we can calculate the torque to be 2.1Nm * 36 75.6 Nm.

    Next Steps

    The hex motors with a 36:1 compounded gear ratio are not only the closest in ratio to the Neverest motors, but also have a significantly lower torque with enough to maintain good control. As such, we are going to replace the our current motors on the drive train with this specific cartridge. If we find that the drive-train's performance could be improved, we will find more cartridge combinations or go altogether with a different motor to improve control.

    Calculating Torque at the Turn-table

    02 Jan 2020

    Calculating Torque at the Turn-table By Bhanaviya

    Task: Analyze torque at the turn-table and how it affects our choice of motor sets

    We want to know if we are using the best possible motor set on our turntable. Since our turn-table is programmed to rotate at the fastest possible speed, we are not too concerned with a motor that turns faster but rather one that has a higher level of control and produces a higher output torque. A faster turret gives us less control when we are turning on the field and we want to reduce the time we spend trying to get the turntable in the right orientation. So, it's time to replace its motors. Currently we are using a Neverest orbital motor on the bevel gear on the turret which has a stall torque of 0.23Nm. With a torque this low, we are not utilizing the turret to its maximum capability. We want to replace this with a REV HD Hex Motor with a double planetary cartridge. REV offers a manual which allows the user to see the exact gear ratios and output torque produced by each combination of cartridges. Based on the cartridges we have right now, two 4.1 cartridges have the highest output torque as per the manual. But we don't want to replace our current motor just yet, until we calculate the exact amount of torque and analyze whether this is a good amount.

    The gears operating the turntable are an 8:1 pinion gear and a 2:1 bevel gear. Thus, their compounded gear ratio is 16:1. Using this, we can find the output torque produced by our current motor which can be found by finding the value of 16 * 0.23Nm * 3.7 which gives us an output torque of 33.6. Now, this value can be higher so if we switch out with the double staged 4.1 HD Hex Motor, we get a compounded gear ratio of around 13.1, according to the REV manual. The stall torque for these motors are 2.1Nm which is significantly higher than the amount produced by the orbital motor. Plugging both these values and the 16:1 gear ratio of the turntable gears, we can find that the output torque produced by the turntable REV planetary motors can be found using the equation 16 * 2.1Nm * 13.1, which equates to 440.16 Nm.

    Based on these calculations, we can find that the planetary motors produce a significantly higher amount of torque and will give our turntable much more control and precision when operated. This amount of torque may cause some concern on how much the slower the turntable will be; as such, we also calculated the linear speed of the turret. To do this, we have to find the rotations per minute (RPM) of each motor. The no load RPM for the 3.7 motor is 1780 RPM. By dividing this by its gear ratio, we can find the RPM which is 1780 RPM/3.7Nm which is equal to 481.08m/s. As for the REV motor with more torque, its no-load RPM is 6000 RPM and when divided by its gear ratio of 13.1, we get a linear speed of 458.02m/s.Although this is a lower linear speed, the difference is very little, showing that the new 13.1 motors will not reduce our speed by much but will have a much larger effect on the output torque of the turret, thus maximizing the turntable's efficiency.

    Next Steps

    Since we determined that our current turntable motor needed to be replaced, our next step was to make the physical switch on our bevel gear system on the turret. However, we are yet to test how much of an improvement the replacement will be so that will be our next goal. If we find that the motor set can be further replaced then we will use calculations similar to the ones in the article depending on whether we want to reduce or increase torque. Our next qualifier is this upcoming Saturday, so the new motors should improve our turntable control for the match-play portion.

    STEM Expo Preparation

    03 Jan 2020

    STEM Expo Preparation By Bhanaviya

    Task: Plan for the DISD STEM Expo

    An FLL Team Gathered Around Iron Reign's Robot at the 2019 STEM Expo

    Next week, a week after our second qualifier, Iron Reign along with members from our 3 sister teams, is participating in the DISD STEM Expo for our fourth year. As we have done for the past 3 years, we are bringing the Mobile Learning Experience Lab to the event area in Kay Bailey Hutchinson Center. The purpose of this event is to connect with children in the DISD Area by helping them a foster an appreciation for engineering and the sciences. With the support of the Dallas City of Learning, a non-profit organization operated by Big Thought which helps schedule The Mobile Tech Xperience (MXP), Iron Reign will have a featured exhibit within the MXP. To maximize event productivity, we will be working alongside volunteers from Microsoft and Best Buy who will help us ensure that the exhibit runs smoothly.

    Iron Reign on the Student Passport at the 20202 DISD STEM Expo

    For reference, every year that we have held this event, Microsoft, Best Buy and Big Thought provide volunteers to help teach kids on 3D-modelling and block-programming, the two key highlights of the MXP program. As the youth voice for this program, we teach these volunteers on how to teach the activity to younger students with little to no STEM experience. For the first time in our years organizing a booth, Iron Reign has been recognized as a vendor on the student passports which will be given to all participants!

    As part of the exhibit, we will have events similar to those hosted as part of our summer outreach events. This includes the LEGO Mindstorm Sumo Robots Event as well as our 3D Printing keychains activity. We will also be bringing our field sets, so both us and our sister teams can demonstrate our robots to participants.

    It is worth mentioning that this may be the last year we run this event with the current version of the MXP. Since Big Thought has approved plans for funding a new, larger vehicle, we hope that we will be able to present the new and improved MXP next season, in time for the STEM Expo.

    Next Steps

    At the end of the day, modeling and coding are two of the many aspects encompassed in STEM, and more importantly, FIRST. In introducing these activities, we hope to promote a student initiative in FIRST Robotics. And who knows - tomorrow, we might just meet the future members of Iron Reign.

    Testing Two Drivers

    04 Jan 2020

    Testing Two Drivers By Justin and Aaron

    Task: Practice driving with two drivers

    Today we started testing out our new two controller setup. The goal is to have one driver control just the base, and have the other driver control the arm and turret. With the early stage of the 2 driver code, we were able to practice maneuvering around the field and placing blocks. unfortunately the code wasn't completely sorted, so the turret controller lacked many features that were still on the drive controller.

    An issue we noticed at first was that the drive controls were backwards, which was quickly fixed in code. After the robot was driveable, we spent most of our time practicing picking up blocks and testing out new code presets. Throughout the day we transferred functions between controllers to divide the workload of the robot into the most efficient structure. We found that whoever controls the base should also be responsible for placing the arm in the general area of where it needs to be, then the turret driver can make fine adjustments to grab and place blocks. This setup worked well and allows us to quickly grab stones off the lineup shortly after auto.

    Next Steps

    Next we will practice becoming more fluid with our driving and look for more common driving sequences that can be simplified to a single button.

    Driver Optimization Developments 5/1

    05 Jan 2020

    Driver Optimization Developments 5/1 By Cooper

    Task: Improve driver optimizations

    Today we worked on driver optimizations, since Justin was here. We changed around the controls for the arm to be more like the drivetrain and the D-pad on controller 1, with the left stick by controlling the elbow, the x controlling the turret, and y on the right stick to control the extension of the arm. This was cited to be more natural to the drivers than the previous setup. Then we tuned the PID values for the turret, while also reducing the dampener coefficient of the controller for the turret. Though here we ran into some issues with the dead zone rendering the entire axis of the given controller stick useless, but we shortly fixed it. There was also a problem with our rotateCardinal() method for the turret that we fixed by redoing our direction picking algorithms. Finally, I worked on tuning auto just a tad, but then had to leave.

    Next Steps

    Analyze more driver practice to get more concise controls for the driver, and finish auto.

    Drive Practice 1/6

    06 Jan 2020

    Drive Practice 1/6 By Justin and Aaron

    Task: Practice driving with new code

    Today we worked on driving the robot with new presets. Over the weekend, our coders worked on new presets to speed up our cycling time. The first preset the drivers learned was the cardinal directions, which allows the base driver, but potentially both drivers to quickly rotate the turntable 90 degrees. This made switching from intakeing to stacking directions very fast. To further speed up our stacking time, our coders implemented a stack to tower height, which allows the driver to set a height and the gripper will raise to it. This took a lot of practice to correctly distance the robot from the foundation for the preset to reach the tower. To avoid knocking over our own tower, we decided that the arm driver should stop the 90 degree rotate before it fully turns, so when the arm is extended it goes to the side of the tower, so the driver can rotate the turntable and still place the stone.

    We also worked on dividing the control between the two drivers, which involved transferring functions between controllers. We debated who should have turntable control and decided the base should, but we would like to test giving the turret driver control. The extend to height controls were originally on the drive controller but were moved to the turret to allow for a quicker extension process. The gripper wobble greatly slows down our stacking, even after dampening it.

    Next Steps

    Our next steps are to practice driving for our next qualifier and modify our gripper joint. A lot of our robot issues can be solved with enough drive practice. We need to start exploring other gripper joint options to allow it maintain orientation but not sway.

    Dissecting the Turret

    09 Jan 2020

    Dissecting the Turret By Karina and Cooper

    Task: Figure out why the turntable isn't turning

    Just as Iron Reign was at the point of getting driver practice started and hunkering down to do autonomous, the turntable stopped working. The issue was that there was heavy skipping of teeth between the planetary gear and pinion gear which drove the turntable. Still, there was no obvious reason for why the gears had suddenly disengaged.

    To get to the root of this issue, we took to dissecting TomBot. We had to detach the metal frame which supported the turntable from the chassis just to get a better view of the problem area.

    Ultimately we chalked it up to the metal plates shifting on the polycarbonate circle of the turntable from all the movement. Our solution was to shift everything on the turntable over a small amount in the direction of the point along the planetary gear where the pinion gear engaged so that there would not longer be skipping. We got to work with but drivers and pliers to detach the turntable attachments from the turntable, and then the slip ring, and then the circular polycarbonate plate from the mass of motors, wiring, gears, linear slide, and the gripper that make up the arm. Once we had the circular polycarbonate plate isolated, we used a dremel with a drilling bit to widen the holes through which the bolts attached the entire arm system to the plate. We figured shifting out the turret may alleviate the issue.

    Next Steps

    We will have to find a more solid solution for this in the event that this becomes a recurring problem. I suspect that the underlying cause is that the materials that we used for either printed planetary gear or the polycarbonate plate upon which the whole arm rests could not handle the stress of the torque and speed of the turntable. Going forward we can conduct some material strength tests to determine if they can handle the stress, or if we should find a replacement. To be frank, even after dissecting Tombot, we were not certain about the cause behind the planetary gear disengagement.

    Finger Gripper Morph Chart

    10 Jan 2020

    Finger Gripper Morph Chart By Jose

    Task: Create a morph chart to analyze all our 3-finger gripper versions so far in this season.

    Just like with our gripper designs, we've also gone through a number of changes with our final gripper - the 3 Finger Gripper. This calls for one thing - a morph chart! A morph chart shows us the various subsystems of the 3-finger gripper as it went through its different stages of design. The left axis addresses each part of the gripper like its grip material, back fingers, front finger, and capstone deployer. The right axis shows the different versions of each component visually. Right now, we are at a whopping 4 versions of the same design with 3 grip materials, 3 back and front fingers, and 2 different capstone deployer designs. The latest version has REV Extrusions, a GoBilda plate for the fingers, a red silicon oven-mitts for the grip material (and for helping with the turkey, of course), and no capstone deployer just yet.

    Next Steps

    By putting all of our grippers in one chart, we can see how our gripper has evolved from its humble beginnings, and lets us see which ideas we could possibly recycle. To read about our comprehensive gripper morph chart, visit our article on Gripper Designs Morph Chart. As the finger-gripper undergoes more modifications, we will create another, more updated morph chart later on.

    Match Play at UME prep. Qualifier

    11 Jan 2020

    Match Play at UME prep. Qualifier By Trey, Ben, Aaron, Bhanaviya, Jose, Cooper, Justin, Karina, and Paul

    Task: Compete in Qualification and Finals matches

    Today Iron Reign competed at our second qualifier at UME Preparatory Academy with TomBot which could have been better in terms of autonomous, driver practice, and build. But regardless of this, we were still able to be in the winning alliance and the following are descriptions of the match play that made that happen. For reference, we have a separate post underlining the analysis of the qualifier that does not include match analysis. This post merely details how each one of our matches went, and we will have a future post discussing our drive issues at the competition.

    Match 1(Quals 3)

    Match one was a little bit of a disappointment even though we won 26-19 because we made almost no points from auto (which we didn’t have) or the tele-operated period. The 25 points we did make in the endgame were made because we moved the foundation out of the build zone with the foundation grabber, which didn’t line up very well.

    Match 2(Quals 10)

    With the driver practice from match one, we entered match two, stacked two blocks, and tried to move the foundation again but the grabber kept getting stuck. And it didn’t help that In this match our partnering team did not contribute very much which led to the overall score of 8 vs. the opposing alliance’s score of 55.

    Match 3(Quals 15)

    We won this match 52-15 because of 40 points form the opposing alliance’s penalties and only 12 from what we accomplished. Those 12 points mostly came from moving three stones under the bridge and placing two on the foundation. We didn’t get very many other points because we still can’t move fast enough and sometimes when we place a stone on the foundation we knock it off shortly after.

    Match 4(Quals 17)

    We lost this match by 77 points. This was mostly because we were against 7172 Technical Difficulties and because we still weren’t able to quickly or accurately move blocks onto the foundation, with only one block in the end. We also were still having difficulties with the gripper and the foundation grabber, which kept getting stuck.

    Match 5(Quals 26)

    Things actually started to come together in this match and we won 72-16 because the drivers had a better feel for the robot and we fixed the foundation grabber. In the end, we were able to get 3 stones on the foundation and stack two of them. The other points came from parking and our partnering team’s auto which scored 15 points.

    Semis 1-2

    Contingent on the fact that we would place a capstone on their tower, 7172 decided to make us their second choice alliance partners. Together in the match, we scored 92 points even though, our capstone got stuck in the gripper. This meant that we contributed almost no points to the final score which was sad.

    Finals 2

    In this match we had the same strategy as the last one, sit around with a capstone and place it at the end of the game. The only difference between the placement of this capstone and the other one was that this tower was 2 blocks higher. And even though the tower’s height caused us to mess up and knock the whole thing over, we still won 51-89.

    Next Steps

    Overall, the match play of this qualifier did not go plan. Between the awkward flexibility of the gripper’s attachment point, the jamming of the foundation grabber, the lack of driver practice, and the severe absence of a functional autonomous, we only made up to 20 points per match. And if we want to have any hopes in robot performance at regionals we need to do better in all of the aspects mentioned starting with driver practice and autonomous, the two factors that contributed the most to our overall performance.

    UME Qualifier

    11 Jan 2020

    UME Qualifier By Bhanaviya, Karina, Cooper, Jose, Trey, Aaron, Ben, Justin, and Paul

    Task: Compete at the UME Preparatory Academy Qualifier

    A solid month or so after our first qualifier, Iron Reign walked through the doors to our second qualifier at the UME Preparatory Academy with our three sister teams. Compared to last season, we had gotten significantly more driver and presentation practice, but we still weren't as organized as we could have been and in a robotics qualifier, this is a bit of concern. Nevertheless, we were optimistic (though wildly unprepared) for the day ahead.

    Inspection

    Just like at our first qualifier at Allen, we passed inspection the first time around! While this was a minor victory, it served us well later on in the day.

    Presentation

    Having practiced more the second time round, our presentation ran relatively smoothly. We did lack enthusiasm, however, and as one of the earlier teams to go through judging, this was not ideal. Unlike last time, though, our robot demo worked significantly better. Still, our questioning period could have worked off better and the transition from each question is something we will be focusing on improving before regionals.

    Robot Game

    First off, the turret on our robot had to be entirely dismantled the week of qualifier, and there had been a storm the previous night, and since robots and rain don't generally make a good combination, we didn't have too much driver practice. We had practiced in the couple weeks leading up to the qualifier though, so needless to say, we were in much better shape than previously. For reference, this post will not discuss our robot performance at UME and merely serves as a summary of our day in each sub-category. There will be another post detailing our match-play soon.

    Match-Play

    With a win-loss record of 3-2, our qualification rounds weren't the best. But somehow, we managed to scrape through to be ranked 8th! Our sister teams Iron Golem, Imperial Robotics and Iron Core had placed 6, 10 and 12 respectively, an impressive feat, especially considering that 2 of these 3 were rookies. Though our rank wasn't as stellar as it could have been, we were able to demonstrate TomBot's Tall-Mode and its capping abilities to the 1st seed team Hockabots and them and their alliance partner Technical Difficulties picked us during selections! Additionally, for the first time in the history of our robotics program, all 4 of our teams were selected during alliance selection for the semi-finals match.

    Semifinals & Finals Matches

    Ultimately, our alliance's performance in the semi-finals served us well into our advancement to the finals... until it didn't. Nearing the end of finals, our attempt to cap Technical Difficulties' tower ended up knocking over the stack. Fortunately, our alliance still ended up winning, but finding accuracy in our stacking, especially with regards to capping is something we plan to work on going into regionals. Currently, we have gone through 3 different capstones and capstone-droppers but those still require more testing in order to ensure our capping abilities improve by regionals.

    After-Judging and Awards Ceremony

    While we didn't have high expectations for our success, we did manage to garner several visits from judges to our pits. A good measure of judging success is if the judges come back to talk to you, and at UME, we had four separate groups of judges come up to us and ask us about each component of our team, from business, to outreach, to sustainability, to our robot design.

    In the ceremony, every single member of the SEM Robotics program waited. With all 4 of our teams having made it to semi-finals, this was by far our most successful qualifier match-play wise. Since Iron Reign had already advanced at the previous Allen Qualifier, we were ineligible for the Inspire Award but we were still relatively hopeful. At the end of the day, we were finalists for the Design, Innovate, and Connect awards, closing off our day with 1st Place for the Think Award!

    Next Steps

    Although only one team from our program has advanced to the regionals, this season was successful both on a program and individual-basis. All three of our sister teams performed impressively well at the qualifier, and although their match seasons might be over, their robots still have a while to go. Next week Iron Reign is helping organize and coordinate a booth at the DISD STEM Expo, where all three of our sister teams will be demo-ing their competition robots to students with little to no STEM experience. As the season progresses, Iron Reign is looking forward to recruiting new members from our sister teams, 2-3 at the least. While this may have been our last qualifier, we still have a lot of progress to make leading up to the North Texas Regional Championship. Our post-mortem analysis detailing our performance at UME and preparing for our next tournament will be on our blog soon.

    Growing Pains and Reigns

    16 Jan 2020

    Growing Pains and Reigns By Bhanaviya, Shawn, Mahesh, and Anisha

    Task: Expand the Iron Reign Robotics Team

    One of our biggest challenges this year was learning to adapt our robotics program to the large influx of new recruits. Last year, most of us current members on Iron Reign were the new recruits, so to see the sustainability progress from a whole other outlook this season was at first jarring. However, just like last year, we expanded our robotics program to support 3 teams - Imperial Robotics, Iron Core and Iron Golem, bringing up our program count to a total of 30 active participants.

    Each of these three teams have underwent their own successes and failures through the Skystone Season. However, moving on from our program's last qualifier of the season, it's time to take a look back at our highlights. From competing at a grand total of 2 scrimmages, 2 qualifiers, and hosting one tournament, our program as a whole has progressed to a different, higher level. Moving on from here, our next step is to discuss recruitment for Iron Reign specifically. For reference, our team serves as the varsity team in our robotics program and everything you've seen in this journal thus far is specific to our team. With our regional championship being 3 weeks away, recruitment for our current 9-member team is a question we have yet to answer. As of now, our team comprises of mostly underclassmen - 7 to be exact. Based on this count, and our sub-team specific needs, we have decided to recruit 3 new members from our sister teams as we go into the next level of competition - Shawn Halimman, Mahesh Natamai and Anisha Bhattaru.

    Next Steps

    While we don't have any immediate plans to increase our team count further, we're confident that our 3 newer members will make a strong addition to our program as the season flies. All of us on this team were recruited from one of Iron Reign's sister teams, and being able to expand our team alongside our program will help SEM Robotics remain sustainable for years, if not decades to come.

    DISD STEM Expo 2020

    18 Jan 2020

    DISD STEM Expo 2020 By Ben, Justin, Jose, Cooper, Paul, Trey, Mahesh, and Shawn

    Task: Operate an exhibit at the DISD STEM Expo

    DISD STEM Expo has been our busiest event this year. Many kids, ranging from elementary school to high school visit the expo to learn more about STEM and the great things it has to offer. This is our 4th year bringing the Mobile Tech Xpansion Program to this event, but this will be the last year we bring the MXP as it is. For reference, Big Thought received a grant of $150K last year to expand the program, and the MXP is almost at the end of its pilot stage. This is also the first year we have been named as our own exhibit at the STEM Expo! We accumulated well over 1000 students to our exhibits. Being able to interact with an audience of students this big, many of whom have little to no STEM experience, gave us a great opportunity to not only introduce them to robotics, but also to meet the next generation of engineers. The purpose of this event is to spread STEM programs to students in the Dallas area who otherwise would have no access.

    Although the season has ended for most of Iron Reign Robotics’ teams they were still invited to help us run the exhibit. This gave them the opportunity to get a head-start on their journals for next season by providing an amazing community outreach opportunity. For reference, although all 4 of the teams in our robotics program participate in events like the expo, Team 6832 takes the lead in the MXP events, as Big Thought's programmatic partner for the program, and as the varsity team.

    Preparing for the STEM Expo was a little tricky because the MXP had to be parked in the convention center on Friday night, meaning we had to get all the materials onboard on Thursday. This wasn’t too difficult because most of the learning materials stay on the vehicle. On Saturday morning, we had to setup the practice field, tables, prepare 20+ laptops, reconstruct several sumo-bots, and prepare 4 3D-Printers for the hectic day that was to come.

    The New MXP Floorplan

    Once preparations were complete, iron Reign had to educate the volunteers on how to run the Sumo-Robots session. The Sumo activity required many volunteers, many of which were from Dallas City of Learning or BigThought. We also set up a practice field for our sister teams to demonstrate their robots for our visitors. Inside the MXP, several Iron Reign members hosted a 3D-Printing activity that allowed kids of all ages to build a small keychain and print it on their own. Outside, the vehicle, the rest of us worked with Big Thought volunteers to teach students on how to code an EV3 robot, the kind used in FLL, so that students could experience their first foray into FIRST. Being able to work with Big Thought's volunteers in teaching these students is what sets the expo apart from our other outreach event - apart from the expo being our biggest event of the year, the opportunity to work with these volunteers also gives us a chance to help Big Thought operate the MXP, a role which we hope to continue next year. In addition, since Big Thought approved the purchase for the new, bigger MXP vehicle this year, our team will be helping design the actual vehicle this season as the student voice of this program, and working with Big Thought at events like the expo helps us further solidify that role.

    The great thing about the MXP program is that usually, the participants in these events like the STEM Expo have not had any experience with robotics, and they tend to perceive the concept as something that is beyond them. Being able to show kids that robotics is something that anyone, regardless of age, can understand and enjoy, helps lead them towards considering pursuing a career in STEM. As such, the Expo was a huge success because we were able to reach many students of all ages and technical experience. We met with many VEX IQ and FLL teams and gave them demonstrations of our robots to show them what FTC is about and excite them about their FIRST future.

    Next Steps

    This STEM Expo will be the last Expo with the MXP in its pilot stage. BigThought has officially agreed to purchase the next vehicle with $150K they received in the past year and and move the program out of the pilot stage. We are truly grateful for all of BigThought’s help in maintaining the MXP along with all the help we received today at the Expo! Next year we'll have a bigger and better vehicle which will allow us to reach even more STEM-minded students and show them what they can achieve through FIRST.

    Auto Developments at the STEM Expo

    18 Jan 2020

    Auto Developments at the STEM Expo By Cooper

    Task: Improve autonomous and tune IMU

    During the STEM Expo, while also helping volunteer, we worked on auto. There were a series of cascading events that were planned and completed. The first of which was to calculate the TPM of the base. There was, however, a problem before we did that. Our robot has a slight drift when trying to drive straight, which could be solved by driving based off of the IMU. However, we had discovered a couple of days ago that it doesn’t run. This made no sense, until a critical detail was uncovered -- it sets active to false. With this knowledge, Ahbi sluthed that the action was immediately being completed, since it was in an autonomous path. We then took a break from that and calculated the TPM a different, and far less complex way- we drove it a meter by hand and recorded the tick values. After we did that, we averaged them up, and got 1304, which in the end we decided to use, since just after that Ahbi figured out the problem with the driveIMU() method, and it went perfectly a meter. The issue was rooted in one wrong less-than sign, which was in the if statement to detect if we had gotten to our destination yet.

    Next Steps:

    This is the first time we've actually tuned auto since the UME Qualifier, but now that Mahesh is trying to implement Vision, we plan to improve the sensor capabilities of our robot as well.

    Code Changes At STEM Expo

    18 Jan 2020

    Code Changes At STEM Expo By Mahesh, Cooper, and Abhi

    Task: Use Vuforia To Detect Skystones And Tune Ticks Per Meter

    This Saturday, we had the privilege of being a vendor at the Annual DISD STEM Expo. While this event served as a good way for us to showcase TomBot at our booth, it also gave us the much-needed chance to experiment with vision. With this year's game rewarding 24 points for locating skystones and placing them onto the foundation, vision is an essential element to success. To detect skystones, we could have gone down three distinct paths: OpenCV, Vuforia, or Tensorflow.

    We chose to use Vuforia instead of Tensorflow or OpenCV to detect skystones since the software gave the rotation and translation of the skystones relative to the robot's position, which could then be used to determine the position of the skystone, either left, center, or right. Additionally, Vuforia has proven to work under different lighting conditions and environments in the past, whereas Open CV requires rigorous tuning in order to prove flexible for a variety of field settings.

    The second major task we worked on during the STEM Expo was calibrating ticks per meter. The issue we encountered when driving both wheels forward a set number of ticks was that the robot drifted slightly to the right, either meaning that the wheels are misaligned or that one wheel is larger than the other. To fix this issue, rather than tuning PID Coefficients, we figured out a separate ticks per meter measurement for both wheels, so that one wheel would move less than the other to account for the difference in wheel diameters. After experimenting with different values and tuning appropriately based on results, we arrived at a ticks per meter number for each wheel.

    We could have used a more mathematical approach for calculating ticks per meter, which would be equal to (ticksPerRevolution * driveGearReduction) / (wheelDiameter * PI), with "wheelDiameter" being measured in meters. However, this solution would require a very precise measurement of each wheel's diameter, which our caliper is not wide enough to measure. Additionally, this solution would not account for wheel slippage, and for these reasons, we chose the latter approach.

    Next Steps

    Unfortunately, the vuforia vision pipeline did not work at the STEM Expo, which may be a result of bad lighting or some other code error. Moreover, constants such as the camera's placement relative to the center of the robot have not been measured as of now, which is a task for the future. In order to make sure vuforia is working properly, we should send the camera's feed into FTC Dashboard in order to debug more effectively and pinpoint the issue at hand.

    For last year's game, three different vision pipelines were used, Tensorflow, Vuforia, and OpenCV, and all three were compared for their effectiveness for finding the positions of gold cube mineral. This strategy can be employed for this year as well, since building a robust OpenCV pipeline would be impressive for the control award, and comparing all three options would give us a better idea as to which one works most effectively for this year specifically.

    Snapdragon - The Beginning

    19 Jan 2020

    Snapdragon - The Beginning By Bhanaviya and Aaron

    Task: Begin our 10th gripper design

    As you could probably tell from our plethora of gripper articles, here at Iron Reign we have one too many grippers. And now its time for another one! We could do a whole post-mortem analysis on what went wrong about our build at our last qualifier, but for the most part, the design was consistent, with one underlying exception - our gripper. The finger gripper was a revolutionary piece of work, and has gone through a whopping 4 different iterations. But as all good things, its time must end. The issue was that the finger gripper lacked precision when it turned and was not quick enough in picking up blocks, requiring excessive control on the drivers' end to be able to focus on a stone and pick it up. In a speed-based challenge like this year's, this was not ideal, so it had to go.

    A slapband in action

    In it's place stands the Snapdragon, its quicker, more rugged replacement. The snapdragon functions as a passive gripper - at its core, it works as a slapband would. A slapband is, simply put, a wristband that wraps around one's wrist when slapped with enough force. Similarly, the snapdragon's closing action is an elastic-powered snapping action that is physically triggered when the gripper is lowered onto a stone. It's ability to grip is a direct result of the lower metal "flap" below the larger rectangular plate above. The effectiveness of this flap relies on the precise placement of rubber bands holding the flap to the plate above it. However this also means that the plates must be triggered in a very specific manner so that the gripper closes down at the right time.

    Next Steps

    The beauty of the snapdragon relies on its ability to be self-triggered. However, it would still need to be reset after "snapping". This would require use of a servo. The servo would need to be able to close down on the stone, but this also means that the movement of the gripper needs to be controlled such that it does not snap upon contact with any other surface. Trying to find a balance between this passive action and the servo's movement will be our primary task since the gripper isn't ready to be mounted yet.

    Engineering Notebook Binder CAD

    20 Jan 2020

    Engineering Notebook Binder CAD By Jose

    Task: CAD an engineering notebook binder that is to be custom made

    We want to utilize our new CNC as best as we possibly can. Since we plan to CNC the second version of our current robot TomBot for regionals, the only companion that could serve a CNC-ed robot is a CNC-ed engineering notebook! Plus an aluminum-plated journal would also help us emphasize the iron part of our name to the judges (hi there, if you're reading this!). The first step is to make a CAD file for this binder which is what we have shown above. The most custom part is the cover, it features our team logo, name, team number and even outline of our robot. As per GM1, we can have 2 engineering notebooks so we will make 2 custom notebooks, one that reads "Engineering Section" and another that reads "Team Section". We plan to use piano hinges to joint all the panels of the binder, use polycarbonate as pockets, and steal some binder rings from other binders to be used for these. The panels of the binder will be made of aluminum and the cover will be carved out using our CNC.

    Next Steps

    The outline of our robot, TomBot, may be changed in the future but other than that all we need is to CAM the binder CAD to be able to make it using our CNC. Once the journal is printed, all that's left to do is add the rings, panels, and pockets to the actual binder.

    Snapdragon - The Sequel

    24 Jan 2020

    Snapdragon - The Sequel By Bhanaviya and Aaron

    Task: Improve the precision of the Snapdragon.

    Last week, we prototyped a new gripper called the Snapdragon. Now it's time to give it more complexity. The Snapdragon is a passively-triggered gripper which closes down on a stone upon an impact-heavy contact with it. The main issue we're focused on solving is the impact which triggers the gripper - the gripper needs to be able to close only upon contact with the skystone and not with any other surface. To solve this problem, we added the servo horns, which make the snapdragon look like an actual dragon, for an increased comedic value. Before the servo horns, an abrupt stop by the metal plate of the gripper and the momentum of the "flap" below it were needed to grip a stone but this requires too precise placement of plates. With the addition of the servo horns, the servo horns physically trigger the drop so that the rubber bands holding the gripper in place can be tighter and have more grip.

    In addition to the servo horns, we will also be using a capstone dropper. The capstone dropper is mounted between the two servo horns, and has three small wired which will go through a hole at the base of the capstone. The dropper will be pre-loaded with the capstone and be released during the endgame. The capstone dropper has not yet been tested but we will get to that once we have controls to release the capstone.

    Next Steps

    We need to test the Snapdragon's new version extensively so that our drivers can get a feel for it. Next, since this is a passive gripper model, it would need more grip, so we also need to conduct materials testing on more materials to determine which material has the best grip and can be mounted on the gripper.

    Coding the Snapdragon Gripper

    25 Jan 2020

    Coding the Snapdragon Gripper By Cooper

    Task: Code the new Snapdragon gripper

    Last night we installed the new Snapdragon gripper, which means we needed to re-work the gripper code. We started out by getting the positions