What's with all of the code and CAD posts over the last couple weeks?

You might have noticed the sudden burst of teams posting links to their prior year’s code and CAD drawings on Chief Delphi. Wondering why? Read on.

R303 of the 2022 Game and Season Manual says:

Create new designs and software, unless they’re public. ROBOT software and designs created before Kickoff are only permitted if the source files (complete information sufficient to produce the design) are available publicly prior to Kickoff.

While we don’t know what the rules are for 2023*, that rule has been present for many years. Despite the changes to remove the bag rules, veteran FRC odds-makers are betting that you’ll see a similar rule again this Saturday when you enter the magic password. No, I don’t know anything more about the 2023 rules than you do.

So, if you have that regional-winning robot vision library, or that crazy 5 motor continuously variable gearbox from last year’s bot, or during the offseason developed a sick SLAM** solution using AprilTag and want to use it on this year’s robot, you need to publish the design before kickoff.

What does publish mean? The examples in the rules all say:

  • post it in a generally accessible public forum
  • make the code available to all Teams

Do you really want to get into an argument with the robot inspector over where the design was posted? If you post it on CD, no self respecting RI*** will challenge you.

A story. A couple years ago at a competition I was asked to consult on a robot’s control system issue. We spent quite a bit of time going through the source code of the robot to see what the issue was. Reading the source code, it was clear to me that the code represented many years worth of work.

After the competition, I took a look around for the team’s code, and wasn’t able to find it online anywhere. That’s not right.

The concept behind this rule is that the work product – the robot and its code – represents the work of the current team. Sharing of designs and source code helps level the playing field and increases the quality of robots from all teams. It deliberately reduces the (big) advantage that veteran teams have over new ones. This sharing is a big reason why FRC robots do more amazing things each year. I like amazing. You’d like it too if you watched 400 matches a year.

Finally, a personal note. I love reading team’s robot code, and would love to see more published code to look at.

So, there you go. Publishing your code and designs = good. Go do it now.

-

* HT @Marshall on the conundrum this creates.

** You’ll have to look it up. We can’t do all of the work for you.

*** I’m still trying to decide whether Jon Stratis falls into this category. Your feedback invited via DM on the board.

18 Likes

13 Likes

Just don’t release your code as a dramatic reading *

1 Like

It’s an evergreen rule, it’s back, don’t make me go find the blog posts over the last year.

2 Likes

This:

This is why we insist that our programmers code exclusively in neatly-formed haiku.

3 Likes

Nah, do it. It’s a good way to get teams talking about your creativity for multiple generations of students.

1 Like

malicious compliance is still compliance /s

1 Like

I so appreciate this post. I knew we had to publish our CAD and source, but I missed the detail about needing it done before kickoff. I’m proud of what we’ve accomplished since our rookie season last year and want to see it shared.

So our guys are frantically bundling up our swerve module CAD and code to post on our site. Some teams may find our software implementation interesting since it’s a clean sheet design in LabVIEW :flushed: with field-centric driver control. It needs more refinement but it works and is pretty responsive and speedy! I’ll post a link when it’s all available.

Hat tip to OP!

2 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.