Hacker News new | past | comments | ask | show | jobs | submit login
First Robotics Competition: An International High-School Robotics Competition (firstinspires.org)
101 points by frigid on April 9, 2020 | hide | past | favorite | 53 comments



I was on a fairly serious First Robotics team in high school. Nothing else during my pre-professional years prepared me as well for what it would be like to run/work on a team to solve challenging problems. I really appreciate that it was a space where adults treated me like one, and taught my how to execute on that level way before my peers.


I was pleasantly surprised when I started my first R&D job after university. It's just like a FIRST team but everything is bigger including the robots.

I don't think anything else in school has prepared me for the real world more than my FIRST team. If I could tell my younger self one thing, it would be to join the team in my freshman year instead of senior year.


I'm not sure why this was posted now but my kid is involved with this and it is a great org.

I was excited for him to get involved for many reasons but one of which I've been a pretty big fan of Dean Kamen (he co-founded First). However, over the past few years I've learned Dean is kind of a douche and the real star of First is (well, now was) Woody Flowers. He's a great example to all the kids and his philosophy of "graciousness professional" is no bullshit. It is a great way to roll out tech / STEM to kids.


I was involved in FRC all through highschool, and later volunteered with a team for several years. Woody truly was the star. I hadn't heard that he passed--I am saddened to learn of it now. As a volunteer in FIRST, the highest recognition you could hope for is the Woody Flowers Award. As a student I was incredibly fortunate to be around several (then-or-later) Woody Flowers Award winners as mentors.


As a longtime participant in this program, I'd say this take is pretty spot on.

Woodie wasn't just the star of FIRST; competitive robotics based STEM education was basically his brainchild, building out from his work on the MIT 2.007 course. He really was the true ethos of the organization.


Dean's a douche? I haven't experienced that having met him several times (even being to his house for a supplier thing when I worked at a company that gave FIRST a ton of stuff). But I guess I could see how folks might form that opinion since he's definitely no Woodie Flowers in terms of social skills. :)


I regret using that word. The few times I saw him speak he was either a) obviously drunk b) hyping up the military like no one's business or c) just kind of bragging about whatever. It was shocking. Then I saw Woody speak a few times and it was like magic.

When my kid first got into First I keep asking him about Dean (again, I was a fan) and he was like, "no one cares about him."


My dad worked at DeKa for a few years. There are a collection of things, such as compulsory gifts that employees need to work on in their personal time for Dean, that make me think “douche” is an acceptable descriptor. However, I helped start an FRC team over a decade ago and my family is still active in mentoring. It’s a great program with great results.


(It was posted a couple months ago and we invited a repost because it didn't seem to have been discussed on HN before.)


It's worth mentioning KIPR BotBall.

There are three major STEM promoters in the guise of a robotics competition: Offerings from FIRST, competitions sponsored by Vex, and KIPR BotBall. FIRST is the most well known at this point, thanks to excellent promotion by Dean Kamen. And Vex is great. But I think Botball has long thought been historically the best of the three, if the goal is to inspire, teach, and enable students who otherwise wouldn't have had an such opportunity.

BotBall is a shoestring nonprofit which was out very early doing competitions using Lego, motors and sensors, and MIT Handyboards: essentially a middle-school and high-school version of MIT's 6270 class. Botball competitions pit one robot against another and the robots are fully autonomous. Once the lights go on, the robots are completely on their own. Botball doesn't do teleoperation at all. This forces students to think of robots as complete systems of mechanical, electrical, sensory, and computational elements. I think this is good.

But BotBall has a critical additional big plus: it is very cheap. BotBall is a shoestring nonprofit and costs very little for schools to get started, and they work hard to allow schools to reuse most of their kits the next year even as the competition changes, so the rewnewal cost is extremely low. This means that BotBall is a very good choice for Title-1 and other disadvantaged schools, as well as non-school entities. One problem I've seen with some STEM ventures is their high cost, which is then offset by corporate sponsorship for schools. And there are a lot of problems with that model, often resulting in bias in selection of schools, or in kids' educational experience getting sidelined in the name of corporate success. BotBall is not only cheap for schools, but it's so cheap that corporate, private, or academic sponsors can jump in without a need to win at all costs. I myself have funded several Title-1 schools several times as a (mediocre) line item in NSF robotics and AI grants I've received, and highly recommend it.


Note that FIRST has several competitions; FRC is the flagship, but FTC is lower-cost, reaching many teams that can't afford to participate in FRC. (I'm not knowledgeable enough to directly compare the expenses of being in FTC vs BotBall).


National Robotics League is fighting robots for high schools. I know a lot of people like to shit on this type of event for various reasons, but it's really the only type of STEM competition that's gotten any mainstream popularity.

I agree that having the competition rules change every year makes it harder for less well funded and backed schools to compete. Also, requiring specific hardware just to field a competition makes things much harder. NRL doesn't have that problem.


When this whole mess is behind us, find a local team and volunteer. It's been one of the best things I've done for my personal sanity and gives me a sense of a side project. I don't even have to do all the work.

If you only build websites don't worry you'll find a place on a team. Don't sell yourself short, if you like kids and mentoring it's a great experience.


I had a friend that worked on FIRST two teams (one after another..). The enthusiasm level was high, but from what he described it didn't seem super great at teaching as the mentors ended up doing a lot of the work, Especially on the software side. We compared notes, as I was volunteering at the time for science olymipiad.

I went to the FIRST competition and it was fun. Maybe I'm wrong and those who participated got more out of it than I suspect.

edit: It some people got more out of than my friend indicated. Maybe better structured teams than his..


Mentor involvement really varies team-to-team. I’ve seen teams where the students don’t do a lot on the software side, but the majority of teams I’ve seen as a “software helper” volunteer at events (and talking with other teams) have had significant student involvement.

On another note: the FIRST Robotics Competition’s official support library (WPILib) includes a number of advanced control features (trajectory generator, extended/unscented/“regular” Kalman filters, LQR) that were written almost entirely by students. I was one of the students involved in this work, and I can say with certainty that students can get a tremendous amount out of the program.


This is very much not true on my team.

I lead the programmers but I don't do the work for them. If I do have to do work, I do it with them. It's very much their system and if they don't want to work on it then it'll be broken.

It depends on the team, the mentors, and the students. I'm sure other mentors and other teams do this, and I'm sure there are other teams and other mentors who help the students less and make them do more work.


It definetely 100% depends on the team. I've seen other teams where their scouting software was custom written entirely by one of their mentors (and I know this because I overheard them say they couldn't do xyz because their mentor was busy with another commitment and couldn't do it until the next weekend). [Developing scouting software is a great excuse to learn to deploy backend systems, develop native and web apps].

With my former team software was always student-led. We had a mentor show us the ropes with git and and he'll work on helping people who are stuck. I think you can evaluate a team based off how they do at an event off the field. If they can still make changes to their codebase or robot then they're fine, but if they say "Mr./Ms. ____ isn't here so we can't deploy any changes" then that's really concerning.


It really depends on your mentors. Mine were very hands off, approached the whole thing with the Socratic method. It felt like shit to go on the field and get dominated by teams who’s mentors designed their robot, but we learned a lot.


I have been hoping to find a multiplayer coding game to play with my FIRST students during this time. Googling "multiplayer coding game" yields many results, but none of the ones I have tried so far have been satisfactory. Ideally it would be more of a sandbox than a game, with little robots you can control.

Would appreciate any recommendations.


You should probably have a look at grobots[0]

It includes both "hardware design" and programming. Hardware design in the form of balancing power usage vs capability. A big honking amount of solar panels is convenient, but then the mass of your grobot increases and you need a bigger more power hungry engine too. Software design in the form of a small but very capable stack based language.

One of the fun parts about grobots is you get more than one robot and cooperation between your robots is pretty important! There's a fair few published robots, ranging from simple algea-tactics (Just sit there and photosynthize) to bee-like swarms with workers and queens to stationary robots with big cannons that depend on a small and nimble scout to pick out targets at a distance.

[0] http://grobots.sourceforge.net/


its not real robots. You build software robots and put them in an arena to battle other robots.

Its an old site (java and .net), but it appears to still be going.

https://www.ibm.com/developerworks/library/j-robocode/index....

https://robocode.sourceforge.io/


Minecraft with the OpenComputers[1] mod might fit your requirements. It adds computers and robots into Minecraft that are programmable with Lua.

[1]: https://www.curseforge.com/minecraft/mc-mods/opencomputers


ComputerCraft works well too, and there are a lot of interesting extensions.


Probably not what you're looking for, but pretty interesting. TwoSigma has the Halite AI challenge where people submit competitive bots[0]. I've wondered if you can spin up your own server and just compete with friends

[0] https://halite.io/


Did it in middle school through high school (FLL & FRC), and started volunteering freshman year in college. Incredibly fun experience throughout. I highly recommend mentoring and/or volunteering - the energy at a FIRST competition is really unique.


It's what had to be done, but it's a real shame it got cancelled this year. Although, since it's all bots anyway I wonder how it would be if all the teams sent just their robots and competed.


There's a ton of in person work to be done. You could get it down to maybe 5 people/team in person and have the audience remote, but that's about it. 2 drivers/operators, 1 mech, 1 electrical, 1 programmer. With maybe some overlap with drivers, but that's often a separate skill ladder.

Not only would you have issues with remotely controlling the robots, as most of the competition isn't autonomous, but things are constantly breaking and need physical intervention. These aren't NASA rovers.


Most of what the teams do at a competition isn't actually on the playing field but for what is done there it's largely run by human operators in real time from control computers connected over Wi-Fi so you can't really send the bots without sending the team.


A related anecdote: I seem to recall a team from another country (Israel?) not being able to attend the world championships, but they were able to send their robot, and coordinated with another team to have that team operate the robot.

But yeah, a match is 2.5 minutes; and only in the first 15 seconds is the robot is entirely autonomous, for the remainder of a match there's a 2-person drive team (plus maybe a coach standing behind them) operating it over WiFi, and also a human player that is able to interact with the field from the sidelines. Nevermind all the activity in the pits, repairing and adjusting the robot.


It's rewarding for mentors to see teenagers develop their passion for engineering in these competitions. Here is a thank you video that described the journey of a few of our programmers from team610.com

https://www.youtube.com/watch?v=9yCuPoC-Z70


I always feel left out that there’s not a robotics competition for adults.


There is the RoboCup [1], most participants are (post)graduate students or alumni. The competition is more focused on the academic aspect with a conference in the end.

[1]: https://www.robocup.org/



I never had the opportunity to compete in FRC, the schools I attended were never willing to back a team or let a team try to fundraise. But I volunteered every year as a kid. Great memories.


I was in FIRST from 3rd grade (there was no JFLL when I started) through 12th grade. I got my first job through a connection I gained in the program and it definitely helped kick me years ahead in being prepared for real world projects. Was a good barrel of fun as well. I'd highly recommend any parents check it out, it has a lot even for those not technically inclined (business and marketing skills are big parts of being a successful team in the later years as well as a lot of charity work through all of it).


I’ve judged my home state’s regionals for the last ten years. One of the most rewarding things I do every year. If you get the opportunity to do so I highly encourage you to!


I've only ever been involved in Vex Robotics, but I've always had a ton of respect for the FIRST competitions. Robotics is the reason I'm a software engineer now and taught me more about succeeding in engineering than any other of my life experiences so far. Couldn't recommend it enough.


Why do all the highschool kids get cool competitions?

We need robotics competitions for 50+ year-old engineers.

Just sayin'. :)


I've been itching to develop a FIRST-like bot on my own (mostly envisioning an electric go-kart I can also hook other things onto) since I graduated high school, but the biggest barrier has always been the hardware and electronics cost. I haven't done enough research but no other robot controllers seem to have the same plug-and-play ease-of-use that the FIRST platforms do.


FWIW: i've got a basement full of half- and fully-built projects with parts from this place:

https://www.servocity.com/actobotics

Granted, its not like Intel is allowing me to use there metal deposition printers, but there's a lot of good stuff there. I think they know me by name at this point.

Same with this place:

https://www.robotshop.com/en/robot-parts.html


Fantastic organization. My son is on a team that qualified from the MA state finals but sadly (and understandably) 'Worlds' was cancelled.


I was in FIRST in high-school. It was a great experience and we were on the alliance that won the Detroit competition in 2018, so that made it even better.


What team? We were on that alliance too.


I was the president of 4027 at the time.


I was on 2708


1991 checking in! I was in college by 2018 but I was at St. Louis Worlds 2016 + 2017. FIRST was the highlight of my high school experience.


Milling parts in FRC meetings were some of my best high school experiences. Taught me how much I loved building complex things.


I'm curious why Java was chosen as the language of First Robotics? Why not use Racket for example.


The Official Supported languages, since 2005 are LabVIEW, Java, and C++. There are also unofficial languages available including Python, Go, Rust and I'm sure a couple more (generally these run on top of the JRE). This is mainly due to the current controller for the FRC Competition being a National Instruments RoboRIO controller.


For those not in the know, the NI roboRIO is a Xilinx Z-7020 (ARM Cortex-A9 SoC with FPGA) and runs GNU/Linux. As long as your language can target ARMv7 Linux and can call into C libraries, it'll run on the roboRIO.


There is an official controller that all robots need to use per the rules. It's (or at least was ~5 years ago when I last competed) a National Instruments cRIO. I think this decision was made based on NI giving a large cost break on the units. Supported languages for the cRIO include LabView and Java, making those two the prominent languages that teams use.


It has since been changed to use the NI RoboRio https://www.andymark.com/products/ni-roborio

C++ was also always supported but from the one year we used that I can guarantee our team's dev speed was much less than LabVIEW. Something about the data-flow UI and live probing of values and VI controls view made it so much more intuitive to develop a robot with. We had a mecanum drive that we developed a dual layer PID system to control individual wheel power using a PID, but also a PID control on wheel rate. The effect was a super smooth but extremely fast control scheme that also had the effect of the robot pushing back if it were moved without user input. Great application in 2014 where the field was entirely open and physical defense was key, but I would have preferred to have normal wheels and all of the traction benefits that come with them that year instead.


FRC isn’t meant to be a intro to programming. The kids writing the robot systems have to know their shit. Some teams will teach new members in a good first language like Racket or Python, but when it comes to actually writing robot code the vast array of libraries designed for the RoboRIO available in Java and LabVIEW make them the only viable options.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: