Articles by tag: think

Articles by tag: think

    Finishing the Chassis

    Finishing the Chassis By Kenna and Janavi

    Task: Build a Chassis

    We have been working on this chassis, on and off, for over three months. Just about every part of it has been built, disassembled, and rebuilt more than twice. In out last post, we had thought the wheels were ready to go. However, various parts had been put on backwards or were unusable so we had to do everything over again. Once we had rebuilt, we realized that there were even more issues. So we fixed those and built them again. Both of us could probably assemble wheels, motors, and chains in our sleep.
    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. After a short search, we found it in a box of 3D-printed parts whose prime was long over. 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. Though it was a pain to build and rebuild every aspect of the chassis, we gained a lot of building experience out of one robot. We chose a relatively difficult design to built for the first time but, in the end, it was functional and that's all we can really ask for.

    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

    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 aluminium 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 suprising 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, its 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 standin.

    We started off the day amazingly, 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. Somehow, 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 "alliance unreliability," meaning that the gremlins inside of our robot started acting up

    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, and UIL realizes this, so all of the awards are "funny" awards.

    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.

    Swerve Drive Experiment

    Swerve Drive Experiment By Abhi

    Task: Consider a Swerve Drive base

    During the entire season of Relic Recovery, we saw many robots both in and outside our region that had a swerve drive. As Iron Reign, we never considered a swerve drive in the past but seeing all the robots, I wanted to see if it was maybe possible. One motivation was that I didn't like how slow mechanums were. Swerves generally use traction wheels and create a faster speed than usually can be found with mechanum. Also, it seemed as if swerve could provide the mobility neccessary that a mechanum drive provided. This is why I wanted to consider the possibility of a swerve drive and why I did more investigation.

    I first came across the PRINT swerve for FTC by team 9773. They had a very detailed explanation of all the parts and assebly tools. After reading into it more, I decided that the system they created wasn't the best. 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 didn't work for some reason after playing with it over the summer or if the chassis didn't make sense to use in Rover Ruckus, we would have almost no money for an alternate drive train since we wanted to presearve Kraken. Also, they parts used by 9773 invovled X-rail rather than extrusion rail from REV. This would cause problems in the future as we wold need to redesign the REVolution system for X-rail. In the end, I decided this was not worth it to pursue.

    After further investigation, I found a chassis by team 9048. The swerve they developed looked like a more feasible option. By using REV rail and many of the parts we had, I thought this would be a possible prototype for Iron Reign. 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. But I am still motivated to find a way to make this happen.

    Next Steps

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

    Swerve Drive Prototype

    Swerve Drive Prototype By Abhi and Christian

    Task: Build a Swerve Drive base

    During the discussion about swerve drive, Imperial robotics, our sister team, was also interested in the designs. Since we needed to conserve resources and prototype, 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. This system would be mounted to a square base. We decided to go ahead and make the base.

    Immediatly 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 train 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.

    Next Steps

    Wait until Rover Ruckus starts so that we can think of a new chassis.

    CNC Machine Rehab 1

    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.

    Position Tracking

    Position Tracking By Abhi

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

    Throughout the Relic Recovery season, we have had many issues with the autonomous being inaccurate simply because the scoring was dependent on perfectly aligning the robot on the balancing stone. This was prone to many issues as evidenced by numerous matches in which our autonomous failed. Thus far, we had relied on the encoders on the mecanum chassis to input distances and such. Though this worked to a significant degree, the bot was still prone to loss from drift and running into the glyph pit. We don't know if glyphs will be reused or not but we definitely needed a better tracking mechanism on the field to be more efficient.

    After some investigation online and discussing with other teams, I thought about a way to make a tracker. For the sake of testing, we built a small chassis with two perpendicular REV rails. Then, with the help of new trainees for Iron Reign, we attached two omni wheels on opposite sides of the chassis, as seen in the image above. To this, we added axle encoders to track the movement of the omni wheels.

    The reason the axles of these omnis was not dependent of any motors was because we wanted to avoid any error from the motors themselves. By making the omni wheels free spinning, no matter what the encoder reads on the robot, the omni wheels will always move whichever direction the robot is moving. Therefore, the omni wheels will generally give a more accurate reading of position.

    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.

    Chassis Flyer

    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. First, we use the Kaizen design process, also used in industrial corporations such as Toyota. The philosophy behind Kaizen is the idea of continual improvement, that there is always some modification to each system on our robot that will make it more efficient or more reliable. As well, design competitions are a focal point of Iron Reign’s design process. In these design competitions, team members choose their favored designs that all complete some field challenge, and build them individually. Upon completion of each mechanism, the designs are tested against each other, considering weight, maneuverability, reliability, and efficiency.

    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

    Technicbots Chassis Project - July Meeting

    Technicbots 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 Technicbots' 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.

    C.A.R.T. Bot Summer Project

    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 rideable. 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.

    Garchomp Part 2

    Garchomp Part 2 By Janavi and Kenna

    Task: Build the Chassis

    So, we thought we finished but we were wrong, oh so wrong. As you saw in our last post, we thought our chassis was functional. However, after leaving it alone for over a week, Garchomp decided that it didn't want to work any more and 3 out of 4 of the chains came off. First, Kenna and I sat and cried.

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

    We decided to replace the tetrix rails. First we loosened all of the screws on the current bar, carefully slid it out, and replaced it with new bars. This solved one of many problems that we had somehow missed when building our chassis. After fixing all of the chains and confirming that each of them were individually working, we re-attached all of the cables to the robot and ran the code. We discovered that not all of the wheels were running at the same speed because our robot kept on moving in circles. After checking that the motors were working, we discovered that it was our encoder cabels that were plugged in wrong. But finally... After fixing that, and after many, many hours of trying to fix the chassis, we finished! Now, I think, we can safely say our chassis is complete.

    Next Steps

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

    My Summer at MIT

    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 mamograms. 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.

    Bigwheel Presentation

    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 Teas 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 extarnal gear ratio, so we can get more speed out of it.

    Garchomp Presentation

    Garchomp Presentation By Janavi and Kenna

    Task:

    After months and months of Kenna and I working on our chassis, all of our work finally accumulated in our presentation. We participated in the Chassis Presentation workshop hosted by technicbots for teams all around the North Teas region to work on one or more chassis, perform various tests with them and then present their findings. We presented our Chassis Garchomp who is 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 alligned 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 wooded sides instead of the aluminium sides that Kraken used our wheels became misaligned to the who different types of wood used for the two sides.

    Our robot is not able to turn relatively fast but as can be seen on Kraken it is able to hold alot of load and move at a constant speed

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

    Post Kickoff Meeting

    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 above listed resources.

    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 condsider 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. Yay! Clean practice field and more tools!

    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

    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 codebase 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.

    Testing Intakes

    Testing Intakes By Ethan, Evan, Aaron, and Freshmen as to be determined

    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 seperating 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

    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
    Claiming Autonomous 15 1 High
    Parking Autonomous 10 1 High
    Sampling Autonomous 25 2 Medium
    Latching End Game 50 3 High
    Robot in Crater End Game 15/25 1 High
    Mining [Depot] Tele-Op 2 per item 1 High
    Mining [Cargo] Tele-Op 5 per item 2 High

    Brainstorming Two - Enter the Void

    Brainstorming Two - Enter the Void By Evan, Abhi, and Janavi

    Task: Have a 2nd brainstorming session

    Last week, we had a lot of new recruits show up for the FTC kickoff. In fact, a bit too many. Luckily for us, we either scared them off or they realized that they'd like to move to FRC. So, today's session was a bit more managable, and we were able to break down into some new building tasks.

    Intake System 3 - TSA Bag Scanner

    If any of y'all have ever been on an airplane, you've gone through airport security. This part of our robot is inspired by the bag-scanning machine, 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

    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.

    Since the game has been released, some teams have already revealed robot reveals, like a 30 hr robot video that was recently posted. We watched and discussed this video. Though we will probably not use these designs, we have learned a lot from them about the game and what kind of competition we should expect.

    Since last meeting, we have begun prototyping the many ideas we have discussed, often with unconventional materials. 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, but. 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

    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.

    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. We began exploring in Open CV so that we can have a visual tool to find the gold minerals; the algorithms we are exploring can be used for both autonomous and tele-op. We also began mapping autonomous after our discussions last time and we began to make our marker.

    Open CV progress

    Today's 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

    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

    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

    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. So, as the true hipsters of FIRST Tech Challenge, we want to move onto something new and fresh.

    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 seperator, 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

    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 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.

    We have continued prototyping various grabbing mechanisms with sorting ability, one passive and one active sorter. The passive version we modelled in Creo and printed before practice, and the active was modelled using Legos! Our new rectuits have been helping us prototype also, as we have been making a version 2 for the active model.

    Passive model
    Active model

    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 came back home to set up our new baby. Here it is in action:

    New chopsaw

    Our new recruits finished up the field today! We are glad we had this project for them to do, as they could become familiar with building on a team while doing meaningful work. They ran into some problems along the way, but we only gave them a gentle push and let them problem solve themselves; these problems include 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. Some of their difficulties stemmed from the field parts being machined inaccuately, so pieces didn't line up perfectly. They had use their own problem solving to get past these diffculties and the field looks great!

    Our freshman recruits! Look how cute they are :)

    Evan and Janavi finished up the linear slides they were working on last week. In the previous meeting log, I described the difference between the two, but now that they are done we are going to test them both. 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.

    Battle of the Slides

    Karina narrowed down the ideas for a marker and she, with Kenna, has began building it. More details to come in later posts.

    For autonomous, we have been putting a strong priority in computer vision using Open CV. While we are waiting to begin code, we are testing many algorithm in Open CV, so we can accurately and consistenly detect field minerals. These algorithms consider shape and color to map points to predict the location of the minerals. Ideally, we will perfect our algorithms to find exactly where the gold block is among the three minerals during autonomous.

    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). Also, he tested the different chassis we build this summer on the field to see how they interact with the terrain (aka the crater). He 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 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

    Autonomous Path Planning By Abhi

    Task: Map Autonomous paths

    Ahhhhhhh! Rover Ruckus has been around for a while now and it's time to figure out our autonomous plans! This year's autonomous is a lot more hectic than last year's since there is the detaching from the lander component which can take an unknown amount of time right now. That cuts down the potential speed for the rest of the auto but only time will tell.

    Until then, I can only dream of the potential autonomous paths our robot can take. First, we need to know some basic facts. One, the field is the exact same for both red and blue aliance, meaning I 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 this 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 autnomous 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 multifunctionality. The time restriction makes this autonomous unlikely but it is stil 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

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

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

    Today, we designed a basic prototype to hang the robot. We designed it, like all our parts, in PTC Creo, and printed it in nylon with ~80% infill. The hook was designed to minimize material used while also being strong enough not to stretch over time. 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

    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 intergrating 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.

    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.

    In the build team, Janavi continued working with linear slides, Kenna built and installed a battery and REV hub holder for Garchomp, and Evan worked on an intake system. We installed Janavi's linear slides on a bare chassis and installed the hook Abhi designed and printed onto the slides. 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. Kenna used plywood to make the battery holder, which is helpful because we are going to use Garchomp for testing this year. Before we just secured the battery with Gaff tape. Evan worked on a secret project, details will be written about in future blog posts. 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. Justin 3D modelled and printed wheel mounts for churros and hex shafts.

    Ducky incarcerated :(
    Justin modelling

    In our code team, Arjun and Abhi updated to the new FTC app; a process we have to do every year before we start the code for that year. 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).

    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 Modelling2:004 hrs
    JanaviRobot build2:004 hrs

    BigWheel Chassis

    BigWheel Chassis By Evan

    Task: Work on a possible chassis

    We have our first qualifier coming up real soon, and to get ready we decided to get a robot into gameworthy shape. So far we have a few chassis from our work over the summer, so I decided to start on a neat little competition bot out of the one we called Bigwheel, named for its two big drive wheels in the back. 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

    So far, not much has gone into materializing the lever since this was made while the rest of the team was at an outreach event. 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

    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

    Intake Sorter By Abhi

    Task: Design a sorter for the balls and blocks

    We've been brainstorming ways to sort the gold and silver pieces, and here's our first one. It's a little bulky, but it's a start.

    The way this works is that 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 modelled this design in PTC Creo, then printed it in ABS.

    Next Steps

    This is a little too bulky, so we're going to have to find a smaller and simpler way to sort game pieces, but it's a start. In the future, we're going to minimize this and probably move to a smaller sorting mechanism.

    Designing Wheel Mounts

    Designing Wheel Mounts By Justin

    Task: Create wheel mounts for our Mini-Mecanum chassis

    Today, we modelled 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.

    Designing the Corn Cob Aligner

    Designing the Corn Cob Aligner By Ethan and Abhi

    Task: Design an aligner for the beater bar

    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.

    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

    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. Last year, we looked at a silicone dish-drying tray as a compliant way to grip the blocks. This year, we're thinking about doing the same with the ice cube trays.

    First, 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.

    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

    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, and considering how ridiculous we all are at Iron Reign, this is what we came up with:

    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 inbetween 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 peice 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

    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-effiecient as we would be able to stay within the crater, and not need to move.

    However, fate has struck. Earlier this week, we recieved 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

    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

    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

    Since many of our members had other commitments today, we are expecting a quiet day. We set up some tables with FTC Starter Kits for our new rectuits so we can give them an introduction to building with REV parts. We want to continue research & design and building for Iron Reign. There is a scrimmage coming up in a few weeks, so we want to have a working chassis by then.

    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 or effective 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. Before worrying about this we want to get it working.

    Kenna with the chassis frame (pre-motored)
    Kenna and Janavi installing the motors

    We have been pretty behind in our blog posts, so Ethan has been catching us up with some prototyping posts. We also discussed what we want to improve in ou engineering notebook this year. In previous years, one of our greatest weaknesses has been the lack of mathematical analysis in our blog posts. A few members showed interest, so we are going to work hard to do more parts testing and incorporate statistics and physics from those tests into our blog posts. Also Ethan has been working on his own 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.

    Ethan working on the blog
    Ethan with the "corn on the cob"

    Today, I made some real progress on our team "Gantt" chart. I will write more about this in a separate blog post, but 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.

    Arjun has kept working on updating to the new app. Once updated, 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 neural network. He began compiling those images and will work on the neural network in the coming weeks.

    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

    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

    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 horizonal 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.

    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

    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+

    BigWheel+ By Evan

    Task: Continue work on BigWheel

    Since the last time we have discussed Bigwheel, the robot has gone through a few major changes. First and foremost, it now has a flipper arm. Since the robot itself is the lift mechanism, we had to put a lot of work into the design of the flipper. Right now it is a 10 inch REV rail attached to two of the largest REV gears you can buy, with a custom 3D printed mount housing an omni wheel pair. Right now it’s turned by two pairs of the smallest REV gears you can buy creating a 3:25 gear ratio. It’s a bit odd, but it increases torque which is what we’re going for, the philosophy being that it’s better to be smooth than to be quick, as a quick robot is weaker and less controllable. 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 previously the wires went every which way and created an infuriating mess that had the potential to get caught in the gears. Personally I’ve noticed that we’re a tad out of touch with gears right now, none of our other robots have sported them to much degree. We’ve been really in touch with sprockets though, since they’ve featured heavily in our designs the past two years. That’s just an observation, and since my first awareness of this, I’ve seen our gear savvy grow.

    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

    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

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

    Meeting Log October 13, 2018

    Sumo bots :)

    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.

    We brought some tools to the event so that Janavi could work on the chassis. Our chassis is a lot smaller than previous years, as we usually have a problem with size. We had been working on a different chassis beforehand, but we scrapped that design because of its lack of mounting points and due to the fact that it was poorly assembled. Because we completely started a new chassis with so few weekends before our first scrimmage, it is essential that we utilize the time that we have to get things done. Janavi started with just some extrusion rails and mounted some motors and wheels.

    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.

    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.

    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

    Mini Mechanum Chassis

    Mini Mechanum Chassis By Janavi and Justin

    Task:

    To everyone's suprise, Garchomp didn't pan out. But, practice makes perfect, and that’s what we are going to do: create new chassis until we find one that works!

    When looking for inspiration for a new chassis, we found the mini mechanum wheels that we had been fiddling with last season but eventually scrapped in favor of the larger wheels that can be seen on Kraken.

    In the past, Iron Reign has been infamous for creating robots that barely fit within the sizing cube by a fraction of an inch, so we decided to take a different approach this time. We built a low-laying 6" x 6" robot to counter our older approaches. However, this new design meant that many of the pieces we had created in previous competitions would be unusable due to the changes in size and structure. For example, the way we affixed the wheels to the frame didn't work, as the axles were too big and the wheels were too small to use with our former wheel mounts. As well, these new mini mechanum wheels came with almost frictionless bearings, but the axle that fit within these bearings was hexagonal, unlike the round ones we usually use.

    Justin first designed the axle plate below to solve this, but discovered that it raised the robot off the ground quite a bit, something we wanted to avoid, and it was very flimsy since it was so far away from the frame. We discussed these issues with our coach and brainstormed various methods we could use to attach the axle the frame in a more secure way; he suggested that we use a pillow block design that would have one side of the axel touching the frame. That way we 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're using motors with a gear ratio of 20 rather than 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.

    Rewriting CNN

    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

    Intake Update By Ethan, Abhi, Justin, and Kenna

    Task: Update the intake for the new robot size

    So, 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. Thus comes 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 the Iron Reign signature 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

    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! We have a lot of work to get done before then so today is going to be a busy day. We need to complete our chassis and some sort of intake system 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.

    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. Usually, we have a problem with sizing requirements, so we are going to try for a different approach.

    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 eachother. 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

    Arjun built a phone mount, a simple necessity for our robot. Besides building, 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
    GitHub Sesh!

    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.

    Intake mechanism with red silicon mats

    Kenna built a mount for all of electronics and attached to the chassis. We tried to use the mount that was built for Garchomp, but it wasn't ideal and would not have lasted due to size differences. We used plywood to create this mount so that we can make adjustments in the future. On the new board, Kenna attached REV hubs, so we finally are able to set up the electronics of the robot.

    Team MembersTaskStart TimeDuration
    CharlotteBlog and organization2:004 hrs
    EthanWorking on blog and build2:004 hrs
    KennaRobot build2:004 hrs
    JanaviRobot build2:004 hrs
    ArjunBuild and mentoring2:004 hrs
    KarinaRobot Build2:004 hrs
    AbhiRobot Build2:004 hrs

    Off-Schedule Meeting Log

    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

    First, I will begin with an anecdote. Last year at Texas Regionals, another team's coach called us a Juggernaut, as we had started our season slow and unassuming, but we picked up pace rapidly with a strong performance at Texas Regionals, then Supers, then Worlds. We still find this an apt comparison.

    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 addtions.

    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. First, during our second test, we failed to notice that the string was entangled within the motor, and by the time we did, it created a tangled web not unlike the Gordian Knot. And like the Knot, we resolved to cut it out.
      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.
    • Reenforced lift
    • Nothing is perfect, and our robot is no exception. 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
    • We never actually restrung our lift after the Gordian debacle, so we decided it was high time to do so. 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 'Ol Faithful - 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

    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 gague 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 unoperable. 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.

    Strategy and Business Whitepaper

    Strategy and Business Whitepaper By Ethan

    Task: Write the Strategy+Business Whitepaper for the Journal

    For teams who don't know, this kind of paper is suggested for judging. Iron Reign usually completes one every year. You can download the pdf of this post here.

    Intro

    This year is Iron Reign’s eleventh season in FIRST, our ninth year overall. We’ve participated in five years of FLL and seven years of FTC:



    FLL

    • Body Forward
    • Food Factor
    • Senior Solution
    • Nature’s Fury
    • World Class



    FTC

    • Ring It Up!
    • Block Party
    • Cascade Effect
    • RES-Q
    • Velocity Vortex
    • Relic Recovery
    • Rover Ruckus

     

    While our team originated at WB Travis Vanguard and Academy, as our members became older (such is the passage of time), we moved to the School of Science and Engineering at Townview (SEM) in DISD. Despite our school being 66% economically disadvantaged and being Title 1, our school consistently ranks in the top 10 nationwide academically. Our school also has numerous other award-winning extracurricular clubs; including CX Debate, Math/Science UIL, and more. Our school employs a rigorous STEM-based curriculum, which provides our students access to specialized class schedules, such as Engineering, Computer Science, and Math, as well as paying for AP classes that our students would normally not be able to afford. The average SEM student takes at least 10 APs.

     

    A History of Iron Reign

     

    Iron Reign has been a team for nine years. We initially started as a First Lego League (FLL) team, plateauing in regionals every year we competed. This was usually not due to the actual “robot game” in FLL, but because of our presentations. Starting there, Iron Reign was defined as focusing on creative and innovative designs. We also did Google’s Lunar X Prize program every summer, achieving finalist status in 2011 and 2012. Upon moving to high school, we started doing FTC, as FRC was too cost-prohibitive to be parent-run.

    We have been an FTC team for 7 years, advancing further and further each year. In Velocity Vortex, we got to the South Super Regionals, qualifying by winning the North Texas Inspire Award, which means that we represent all parts of the competition, from teamwork, to the presentation, to creativity, and to the actual game. In Georgia, the same year, we were the first alternative for Worlds if another team dropped out.

     

    Then, last year, we finally got to Worlds. We got there in two ways: the 2nd place Innovate award at Supers, and also got the lottery, on the prior merits of being a FIRST team for so long. There, we got the recognition that we’d been seeking – we won the Worlds Motivate Award.

    In the same vein, we compete in the Texas UIL State Championships. For those unfamiliar with UIL, it is the main organizational committee for all public school academic and athletic events in the state of Texas. Through UIL, we helped compete in the first test program for the UIL Robotics program and since then have competed in every subsequent tournament. This year, it finally got out of the trial period, and became a full-fledged competition.

     

    Outreach

     

    Our outreach stands out from other teams through our mode of presentation. Last year, we renovated a 90’s Seaview Skyline RV, took out the “home” components, such as the bathroom and bedroom, and turned it into a mobile tech lab, so that we can bring STEM to underprivileged demographics within our community. Our RV currently holds 4 3D Printers, 30+ computers, 3 widescreen TVs, and 1 microwave. Our current curriculum consists of teaching kids 3D modelling in the back of the RV, using Google Sketchup, as it is free and available to any family with a computer. We usually help them design keychains, as they are memorable, but don’t take excessive time to print on our printers. In the front, we teach kids how to use EV3 robots and teach them how to use the EV3 programming language to compete in a sumo-bot competition. We also give advice to parents and educators on how to start FIRST teams.

     

    To make Iron Reign’s history entirely clear, we built the RV two years ago. We do not claim any credit for the actual construction of the RV in this journal; however, we do share the goals of this program: making the RV run as a standalone program, expanding the program to other communities, and serving more and more underprivileged communities in Dallas. To our own standards, we have achieved this.

     

    Our current funding services for the operation of the RV come from Best Buy, who purchased the thirty-plus laptops and four 3D printers. We receive grants from non-profits such as BigThought and Dallas City of Learning to fund events and provide staff (even though our team provides staffing).

     

    This year, we have obtained $150k in additional funds to expand our outreach program by building a second Mobile Learning Lab. This is an unprecedented level of funding - it can cover the majority of buying an RV, staffing it, and filling it to the brim with technology. So far, this is the highlight of the Iron Reign season.

     

    When not in outreach service, we can transform our RV into tournament mode. We have taken numerous long-distance road trips aboard our RV, with locations such as Austin, Arkansas, Oklahoma, and Florida. We substitute the laptops for a band saw and drill press, use the flat screens to program instead of teach, and bring our higher-quality personal 3D printer. At tournaments, we encourage other teams to board our RV, not only to encourage them to start their own similar programs, but also to help them with mechanical and building issues.

    Iron Reign spends a lot of time on outreach. So far, we’ve spent 84.5 man-hours and talked to just under 2000 people (1995) within our community. Our goal of this outreach is to reach disadvantaged children who would not normally have the opportunity to participate in STEM programs in order to spark their interest in STEM for future learning. Some of our major outreach events this year include Love Field Turn Up!, where we reached 1100 children from around the Metroplex. We’ve worked for our school district in various circumstances, including bringing children back-to-school STEM education and running orientations for our high school.

    We also represent FIRST in a variety of ways. At our Mobile Learning Lab events, we talk to parents and educators about starting their own FLL and FTC teams. We currently mentor our school’s FRC team Robobusters and are in the process of founding another. We are the mentors for our sister team, FTC 3734 We also provide help as-requested for FLL teams to go back to our roots. As well, we’ve historically hosted underfunded teams for late-night-before-tournament workshops.

     

    Date

    Event

    People

    Hours

    # People

    2018-04-26

    SEM Orientation

    Shaggy

    6

    200

    2018-06-23

    Turn Up! Dallas Love Field

    Justin, Ethan, Charlotte, Kenna, Abhi, Evan

    24

    1100

    2018-07-14

    Dallas Public Library

    Ethan, Kenna, Charlotte, Evan

    16

    190

    2018-07-21

    MoonDay

    Karina, Ethan, Janavi, Charlotte

    26

    200

    2018-07-22

    Summer Chassis

    Kenna, Ethan, Charlotte, Karina, Shaggy, Abhi

    24

    25

    2018-08-01

    SEM Summer Camp

    Arjun

    6

    175

    2018-08-18

    Back to School Fair

    Ethan, Kenna

    6.5

    130

    2018-10-13

    SEM STEM Spark

    Ethan, Charlotte, Janavi, Abhi, Karina, Justin

    80

    140

    2018-10-16

    Travis High School Night

    Ethan, Evan, Kenna, Charlotte, Karina

    12.5

    120

         

    201

    2280

    Business and Funding

     

    Iron Reign, for the past two years, has increasingly ramped up its funding. We aggressively seek out new sponsors so that we can continue to keep Iron Reign great. Currently, these include:

    • BigThought - RV materials, staffing, and upkeep
    • Dallas City of Learning (DCOL) – RV materials and upkeep
    • Best Buy – 4x3D Printers, Laptops for RV
    • DISD STEM – Practice field and tournament funding
    • RoboRealm - $1500 of machine vision software
    • Dallas Makerspace – Access to machining tools
    • DPRG – Robot assistance
    • Mark Cuban - $2500
    • DEKA - Rookie team funding for our two new teams
    • Texas Workforce Commission - $525 for our team, $2350 for new ones



    We are always seeking more funding. We apply for the FIRST and FIRST in Texas grants every year, and seek grants from STEM-curious companies and individuals in the Dallas area. We have applied for grants from Orix and Mark Cuban, receiving personal funding from the latter. We receive staffing and upkeep from a local Dallas non-profit, BigThought. Currently, we are seeking funding and assistance from Ernst and Young, an international company with a Dallas branch, that a team member works for.

     

    In previous years, we have lacked the ability to get significant transportation funding to get to tournaments. However, through our partnership with DISD, we have solved that problem, and when DISD is unable to provide transportation due to short notice, we can provide our own transportation due to our building of the RV.

     

    Reference Business Letter

     

    “To whomever it may concern,

              My name is Abhijit Bhattaru, and I am currently a member of Iron Reign Robotics at the School of Science and Engineering at Townview, a DISD magnet school whose population is 66% economically disadvantaged. We have been a FIRST team for about nine years, over half of some of our members’ lives. For the past six years, we have operated as FTC Team 6832, Iron Reign. We’ve achieved various forms of success in these years, culminating with our rise to the Houston World Championship this year, winning the Motivate Award, an award for outstanding outreach within our community.

     

              What makes our team stand out from other teams is our dedication to our community. Two years ago, we converted a Sea View RV into a Mobile Learning Lab equipped with 4 3D printers, 15 EV3 robots, and 30 laptops to teach children basic programming and 3D modelling. The purpose of all of this is to start a spark of STEM in underserved communities so that these children can later go into STEM. And, we have expanded this program nationwide, presenting at the National Science Teachers’ Association national conference in 2017. We have partnered with local nonprofits such as Big Thought to fund our outreach expenses, and to reach out to interested communities across Dallas, and the nation, to expand our program.

     

              So, why do we need your help? Our school is 66% economically disadvantaged, and adding to that, DISD is facing up to an $81 million budget gap. The district’s funding for robotics has been dropping to the point where only the basics are covered and even then come too late in the season due to red-tape. The one silver lining is that the DISD STEM Department is still able to handle most of our competition travel expenses. This offsets our largest expense category. But we still have to fund the development of our robot, and we aim high. Our robot earned an Innovation Award at the twelve-state South Super Regional Championship this year. We try to push the boundaries of design and execution and this requires a different level of funding for parts, materials and tools.

     

            To achieve this higher level of funding, Iron Reign is aiming to create a 501(c)(3) foundation to avoid the level of red tape and financial mismanagement from DISD that we have experienced for the past several years. This is where you come in, Mr. Cuban. We are asking for a seed donation for this non-profit, so that our team can become a free-standing team unhampered by DISD’s bureaucracy. Our mission would still be to serve our school and community, as it has been for the past eight years, but we would be able to avoid DISD’s mismanagement.

     

            If the money is not utilized for a seed donation, we would allocate it for new robot parts and equipment. A starter kit for FTC is at least $600 but this is nowhere close to cost of a World Championship robot. To become more successful in the robot game for the following seasons, we would need a higher investment into parts, considering many things can go wrong in an 8 month season. Your donation to the cause would allow us to become more successful.

     

            In return for your investment, Iron Reign will set out to accomplish what you desire from us. We can promote you and your companies on our website, presentations, etc. However, this is just one option. We are open to helping you in whatever way you  would like in return for your help to our team.

     

               Thank you for taking the time to consider our request, and if you happen to have additional time, we would like you to look over our previous Engineering Journals here to see our team’s engineering process and history. To see a video about our robot, please visit https://www.youtube.com/watch?v=TBlGXSf_-8A.

     

            Also, since you were not able to meet with us, we thought we would bring ourselves to you. Here is a video of our team and the FIRST Tech Challenge program.

    Thanks for your consideration,

    Iron Reign (6832)

    Looking Back, Moving Forward

     

    Recently, Iron Reign has put a large emphasis on recruitment. We have alternating years with high turnover due to graduation, so we hold recruitment meetings at our school every year for both Iron Reign and Imperial Robotics.

     

    We already have another team in our school, team 3734 Imperial Robotics. 3734 is an entirely different team, with different sponsors, members, robots, journal, outreach, and codebase. That being said, we recruit the more accomplished members of that team. The teams’ relationship is most similar to the difference between a Junior Varsity team and a Varsity team.

     

    We tend to recruit based on robotics experience, but having robotics experience alone is not a guarantee of joining our team. Iron Reign has a specific culture, and we tend to recruit people whose personalities fit our culture. We also do not accept people who only want to join robotics as a resume booster. While robotics is indeed a resume booster, and we allow every member to claim co-captain on their college applications, members of Iron Reign ought to join out of their genuine passion for robotics, not because of it getting them ahead in the rat race of college applications.

     

    This year has been an unprecedented year in recruitment for Iron Reign. We recruited approximately 30 new freshmen, expanding the Iron Reign program from two teams to four; from Iron Reign and Imperial Robotics, to adding Iron Star Robotics and Iron Core. And, our efforts have been recognized by our donors: we have been supplied four additional REV kits, and two fields so that we can support the larger program.

     

    Build

     

    Iron Reign utilizes a variety of parts and kits. At the moment, Iron Reign prefers the REV kit due to its simplicity - everything seems to just fit together, while still being minimalist. However, Iron Reign’s old standby is 3D printing. We’ve used 3D printing before it became widespread within FTC, and we’ve become sort of pros at specialized design. We even have our own 3D-print kits such as REVolution, a system to turn REV extrusions into axles.

     

    This year, we’re using a new base that’s more adapted to the challenge. Its working name is Minichassis. It is approximately 6”x6” for the base with an additional 4” extension for mounting. It uses four 4” AndyMark mecanum mounted low to the ground with NeverRest 20s with planetary gearboxes attached to each wheel. So, the robot is astoundingly small and fast.

     

    We have two main attachments to our robot, the lift and the intake. First, the intake is a small square with silicone oven mitts attached to it. It knocks the particles upward into racks spaced 68mm apart. This spacing allows the blocks to fall through while the balls move upwards into the lift. Then, the lift. The lift is a series of REV rails attached through a linear slide kit with a hook and particle holder on the end. This extends, allowing the robot to deposit particles in the lander while also being able to hook onto the lander.

     

    In addition to this design, we have also developed BigWheel, aptly named for its 6-inch wheels at the back with a front-facing omniwheel. At the front of the robot, we installed two “arms” which brace an intake system named “CornCob” for its lumpy, cylindrical appearance. This is mounted at a height just so it only contacts the silver particles, not the gold. But, what truly differentiates this robot is it’s lift mechanism. Unlike the majority of FTC robots we’ve encountered this year, BigWheel has no lift, extending-arm, or linear slide. Instead, we have a central lever mounted to two high-torque motors, with a ridiculous 3:1 gear ratio for a cumulative 19.4 N*m of torque. This serves to rotate the robot into a near-total-vertical position, allowing the arms of the robot to reach to the lip of the lander. We feel that this differentiates our team’s robot from the majority of other robots within the current FTC season.

     

    Code

     

    Iron Reign has a large pre-existing codebase. We’ve been improving off of our prior code for years. The particulars we want to focus on are thus:

    • Pose
      • This class uses the IMU to approximate the location of the robot on the field relative to the starting position. The math behind this is simple; we use trigonometry to calculate the short-line distance between the robot’s prior location and its current one.
    • OpenCV
      • We use OpenCV to recognize particles in autonomous. To do this, we trained the software to differentiate between gold and silver particles. To extend our knowledge of computer vision, we ran tests of OpenCV vs TensorFlow CNN in Python to see if there would be a meaningful runtime difference.
    • PID
      • At this point, PID is common among FTC teams. However, as we moved to a new driving base for the first time in three years, we had to retune it, so we rewrote our code to account for the changes in behavior.

     

    Design Process

     

    Iron Reign uses two design processes in conjunction with each other to create efficient and reliable parts. First, we use the Kaizen design process, also used in industrial corporations such as Toyota. The philosophy behind Kaizen is the idea of continual improvement, that there is always some modification to each system on our robot that will make it more efficient or more reliable. As well, design competitions are a focal point of Iron Reign’s design process. In these design competitions, team members choose their favored designs that all complete some field challenge, and build them individually. Upon completion of each mechanism, the designs are tested against each other, considering weight, maneuverability, reliability, and efficiency.

     

    This year, we have exemplified this process. Since kickoff, we’ve had two separate design paths, allowing us to explore the most efficient and workable design. Here, we will describe each segment in detail.

     

    First, we explored chassis designs. Over the summer, we created BigWheel, the aforementioned paragon of uniqueness - operating off of just two wheels. Then, we created the MiniChassis to compete against it, letting the best robot win. As of now, this is undecided, but we’re entering BigWheel to compete, as we feel that this is our more technically-impressive robot through its ability to rotate into a vertical position.

     

    Then, we compared intake mechanisms. First, we created the Corn-Cob intake - a silicone ice cube tray - and mounted it on a beater bar that would ensure sorting through the height difference between blocks and balls. We found that if we mounted it at about 6.5 cm above the ground, it would only consume the silver particles. After, we felt that this wasn’t our best work. So, we created a second intake. As described previously, we attached silicone oven mitts to a beater bar, and added lower fins as a ramp separated 68mm apart so that blocks would fly through, even as balls entered the intake system.

     

    The best thing about Kaizen is that we can mix-and-match these systems for the ultimate robot. At the moment, we’re considering removing the second intake from MiniChassis so that we can replace the Corn-Cob. The fact that we can even consider this system matching casually demonstrates the power of the Kaizen system.

     

    BigWheel Arm

    BigWheel Arm By Evan

    Task: Design an arm for BigWheel

    Bigwheel’s arm is going tied with the lifter arm as the most integral part of the robot. It wouldn’t work without it. Since our scrimmage, we have learned how to make this arm much more efficient, starting with some supports. The arm was made of two disconnected Tetrix rails scavenged from the bottom of our scrap bin, lending itself to weakness and instability, much like a country that recently won its independence. The worst part was how the two sides of the arm would be out of sync with one another, creating a twist in the arm that caused it to drive in an odd path. Since then it has been stabilized with cross beam REV rails that have significantly straightened out the robot. Why we hadn’t done it before is a mystery to me, and something we should have recognized as an issue sooner, but hindsight is 20/20 and since we can’t change the past we can only vow never to make the mistake again. Always support your attachments. The next upgrade on the arm is going to be the box to hold the minerals. Right now it’s made of cardboard off an amazon box, and it kind of sucks. I can say this because I cut it out and made it. The plan is to make it out of polycarb but we only came to this conclusion after a bit of debate. 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. Finally we came to the polycarb and decided upon that. So far it works as a nice way to hold the blocks as we transport them into the lander.

    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

    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

    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.

    First and foremost, we have to work on our presentation. Iron Reign prides itself on its presentation - and we certainly don't want to disappoint this year - so we did an hour-long runthrough to get slide order and content memorized. I don't want to spoil it for y'all, but we've got something special this year.

    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 reenforcing 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 mergining 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. We're a little disappointed but also relieved.

    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.

    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

    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.

    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 neccesary help if you just look at our github!

    Torque

    Torque 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.

    RIP CNN

    RIP CNN By Abhi

    Task: Farewell Iron Reign's CNN

    So FTC released a new software update that added Tensorflow support. With it came a class that implemented Tensorflow to autonomously detect both minerals. This meant all our progress was undercut by a software 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. We're still gonna need an F in the chat tho.

    Next Steps

    We gotta figure out how to use the autonomous detection of the minerals to path plan.

    Lift

    Lift By Janavi

    Task: Design a lift for MiniChassis

    So we need to lift the robot. There are multiple ways to accomplish this including a linear slide or an arm; we decided to begin experimenting with the linear slide method. I created a linear slide using Tetrix bars and the standard linear slide kit. Instead of putting nuts with bolts on the end as stops I took an aluminum plate with holes on it and had Max, one of our mentors, assist me by cutting the plate into small squares to screw into the end of the bar. We planned to test out the tetrix bar at the scrimmage we attended, but two things went wrong. First, I forgot to make the linear slide stronger by attaching side plates, and we only brought 3 of the four needed REV hubs to be able to use both our MiniChassis and our big wheel chassis. Since BigWheel required more testing, we decided to give up one of our two REV hubs so that BigWheel would be able to get some much-needed testing. Since we were not running mini chassis I attempted to strengthen to linear slide by adding side plates but was unsucessful due to a lack of parts availiable. We relized that if we were to include a linear slide on our robot it would require too much maintaince and would soon become too finicky.

    Next Steps

    In the end we decided to scrap the standard linear slide in place of a geared linear slide with a different bar. By usingthe geared slide we would eliminate the need to deal with complicated string and would need to simply reverse the difrection of the motor to move it up and down. Working with the previous linear slide though showed us that it was not the best implementation to use with our robot design and allowed us to try better more efficient variations.

    BigWheel Upgrades

    BigWheel Upgrades By Evan

    Task: Get BigWheel ready for the tournament

    Sunday and Monday were good days to be an intake system for big wheel. Mounts were built to attach both types of intake to the rack and pinion tetrix slide and a new way of mounting the arm to the chassis. The original corn on the cob intake was sized down for the system, and stitched to a REV rail design as opposed to the tetrix and REV rail hybrid it was before. It has yet to be chained up but that should happen soon. 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. The only issue is that it that we have yet to find an ideal gear ratio for the arm, but we imagine that what we have now will suffice (a small 12 tooth gear to a large 86 tooth gear for that extra torque). We have to work on the actual mount that the arm will attach to, the only issue being space and that there may not be enough of it without either switching to bevel gears or chaining the motors to the small 12 tooth gears. We have yet to decide exactly what we’ll do, but since we may not have the bevel gears we want, it might end up being a chained mechanism. Another addition that is simple enough but quite necessary, 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 incase 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.