Didn’t see a topic this year for teams to make their designs and code public, so I start this topic for that purpose. Team 5550 Design and Code Release
Here dropbox link are two versions of a connector interfacing board for the FRC robot controller. These are conceptually similar to the Swyft Robotics JCB-0001 “NI roboRIO JST Board” but have been optimized for our own requirements. The designs may be used as-is or as-modified under the terms of the Creative Commons CC-BY-SA-NC license.
The primary objective for both designs was to provide a mechanically secure alternative to the square-pin connectors used on the NI RoboRIO. The “V1” board uses 4.20mm pitch connectors sold by several manufacturers under various brand names, e.g. Molex “Mini-Fit Jr.”. We planned to use this version of the board during off-season competition (BunnyBots) and for advanced software development, so I included connectors for all the analog and digital I/O pins on the MXP connector as well as the primary analog, relay and digital I/O pins around the edge of the RoboRIO. I provided additional four-pin connectors routed to pairs of DIO channels for easy connection of quadrature shaft encoders. I did not, however, include breakouts for any of the RoboRIO PWM channels as our designs are using CAN for all our motor controls.
The second version of the board uses the slightly smaller, but more expensive, 3.81mm “Euroblock” pluggable connectors, again available from several manufacturers. The smaller connectors, along with the ability to stack two three-position connectors in the same space as one six-position connectors, leave enough room to include connectors for all the PWM channels. This is the version of the board I expect will be most useful to other FRC teams.
In order to aid both software development and diagnosis of sensor and actuator wiring problems, I included LED indicators on the DIO and the relay channels. The LEDs on the DIO channels illuminate when the DIO line is pulled LOW by an external sensor (or by a low output from the RoboRIO, but we didn’t use any digital outputs.) Although this may seem “backward,” it’s actually quite convenient because it works with common open-collector or switch-closure-to-ground sensors operating at either 3.3V or 5V and because it means the LEDs are OFF when the sensor is disconnected. The LEDs on the relay channels illuminate when the FWD/REV outputs are driven HIGH by the RoboRIO. Each of the LEDs draws less than 3mA so they should not interfere with sensor or relay operation. OTOH, we haven’t yet verified with FIRST that this is in full compliance with R75, so we plan to construct one of these boards without the LEDs for competition use.
I’ve included the original Proteus Design project files, printable PDFs of the schematics and layout, generated Gerber files for board construction, and parts lists and pick-and-place files for board assembly. You should be able to send the Gerber files to any of the prototype PCB manufacturers and get bare boards back in one to three weeks. You’ll also need a day, or a few days, to hand-solder all the connectors on the board. (Hint: assembly is faster and cheaper if you leave out the LEDS and resistors and install only as many connectors as you really need.)
Steve Tarr
CSA and mentor,
FRC 1425 Error Code Xero
Took time and searched technical/programming for code releases this year, in CD.
Next step: add direct links, other information in table so folks can find source faster.
See also Firstwiki for a different database, including code from prior years.
team | link | code | language | compiles | cad | notes |
---|---|---|---|---|---|---|
41 | delphi | github | python | delphi | ||
60 | TBA | github | Labview | also has code from last 3 years | ||
190 | delphi | github | Java | yes | ||
254 | delphi | |||||
488 | delphi | |||||
610 | delphi | |||||
670 | delphi | |||||
900 | delphi | website | ||||
930 | delphi | github | java | grabcad | ||
971 | delphi | |||||
973 | delphi | |||||
1023 | delphi | github | LabVIEW | grabcad | ||
1114 | delphi | |||||
1519 | delphi | |||||
1540 | delphi | |||||
1629 | delphi | |||||
1678 | delphi | |||||
1736 | delphi | |||||
2062 | delphi | |||||
2102 | delphi | |||||
2170 | delphi | github | cpp | |||
2194 | delphi | |||||
2231 | delphi | github | java | shared lib | ||
2412 | github | java | ||||
2485 | delphi | github | java | shared lib | ||
2614 | delphi | |||||
2813 | delphi | |||||
2813 | delphi | part 2 | ||||
2910 | delphi | |||||
3044 | delphi | github | java | |||
3229 | delphi | github | cpp | |||
3468 | github | java | ||||
3476 | delphi | |||||
3536 | delphi | |||||
4004 | delphi | |||||
4020 | delphi | |||||
4048 | delphi | |||||
4143 | delphi | |||||
4265 | delphi | |||||
4285 | delphi | github | java | grabcad | plus 2020 links at delphi page | |
4488 | delphi | |||||
4653 | delphi | github | ||||
4776 | delphi | |||||
4810 | delphi | |||||
4829 | delphi | |||||
4855 | delphi | github | java | 2020 | ||
5024 | delphi | |||||
5190 | delphi | |||||
5409 | delphi | |||||
5499 | delphi | |||||
5507 | delphi | github | java | yes | ||
5550 | gdrive | code and cad | ||||
5675 | delphi | github | java | grabcad | ||
5687 | delphi | github | java | |||
5700 | delphi | cad.onshape | also 2018, new cad | |||
5818 | delphi | 2020 links | ||||
5818 | delphi | 2019 links | ||||
5847 | delphi | |||||
5940 | delphi | |||||
6377 | delphi | |||||
6424 | delphi | |||||
6868 | delphi | |||||
6886 | delphi | |||||
7103 | delphi | github | java |
3538 Code Release, enjoy:
All Team 488 Repositories: https://github.com/Team488. Highlights include:
- Competition Code: https://github.com/Team488/TeamXbot2019
- Common library: https://github.com/Team488/SeriouslyCommonLib
- 2019 Vision: https://github.com/Team488/2019-488-Vision
And many more!
4810 I.AM.Robot’s code release:
All 4810 code
4810’s 2019 Code
The zip file is an unapproved framework we were thinking of using, but in it is examples of using CTRE’s libraries in LabVIEW, along with some explanations of what various functions do for out newbies (look in the initializing drivebase vi)
4810 Potential Robot Template v1.zip (405.9 KB)
I am the programming lead for team 4265. Here are the descriptions for our code. Links are posted below.
2019 Alpha Robot
Our code from the 2019 Deep Space season contains no autonomous code, as our drivers used camera feedback to drive during the Sandstorm period. This season, our focus was to make our driver’s lives easy, so we include many safety features including warning lights, tilt detection to prevent our robot from tipping, hard and soft stops for the elevator, detection of motor and encoder failures, and an override button in case of failures. Other features of our robot include autopilot, where the turning motion of the robot is partially controlled autonomously to help line up. We also use autoshifting to high and low gear and our elevator uses a PID and feed forward controller.
2019 Summer Rebuild
Since our programming team was new, in the off season we refactored our code from the 2019 season to allow our new members to learn how our code is set up. This code was meant for our Beta Robot and is a simplified version of our 2019 Alpha Robot code. It does not contain code for our elevator.
2019 Dashboard
This year, we used a touchscreen tablet for our manipulator’s driver controls instead of mapping 15 buttons to a gamepad controller. Along with these driver controls, we have many indicators for driver feedback including warning lights, camera, state indicators, overlays, and IR sensors. We also have visual cues, such as a match timer and elevator state and goal indicators. We have a tune tab for parameter tuning and indicated data points.
Autonomous Path Planner (Python)
Our path planner for autonomous programs allows the user to upload a picture of the field and add points to generate a planned path for the robot. You can change each point’s x and y values, velocity, and orientation. We apply a linear interpolation of the points and then smooth out the curves.
Autonomous Architecture
We implement our autonomous code into Periodic Tasks with the rest of our TeleOp code. We read a file that has the commands for the play we want. These commands are split into driver and manipulator controls and are run in parallel.
Toolbox VIs
This contains our commonly used VIs that are easily reusable in our code.
Swerve
This is our first attempt at swerve code that we worked on this off season. Part of it was based on 2614 MARS 2019 swerve code.
And here are our links:
It look like you accidentally linked 190 for 190 and 254. 254’s post is here. Team 254 Presents: 2019 Code for Backlash
@Joe_Ross enabled editing on Making Code and Designs Public for 2020 season
so deleting content here.
Less is more.
I made your previous post a wiki so it can continue to be edited, and updated with your latest list.
You better believe 190 is coming for that clout
Team 2813 has two 2019 releases (some code overlaps and some does not). The second is in the list above, I’ll post both here:
https://www.chiefdelphi.com/t/frc-team-2813-public-release-of-software-2019/357074
https://www.chiefdelphi.com/t/2813-public-code-release-off-season-2019/368442
All 1540 code (including our 2020 competition code, as soon as we start writing it) is publicly available on our GitHub at github.com/flamingchickens1540.
In the past year, we’ve continued our work on our common code library, Reusable Object-Oriented Systems, Templates, and Executables for Robots (or ROOSTER for short).
Our 2019 competition code (for our robots Phineas and Ferb) is also present, containing our field-oriented tank drive system integrated with advanced custom vision pose estimation (including full 3D pose using the Limelight without compute3D, odometry to continue tracking when the camera is blocked by our elevator, automatic calibration to field/camera variances, and automatic hatch placement when in position) as well as a variety of advanced superstructure controls, a gyro-stabilized climb sequence, and self-test functions for all robot mechanisms.
You can also find the code for our 2019 BunnyBots (Chonk and Liam) as well as an unused vision system we developed during the 2019 season.
All team 5940’s code is available on our github. Repositories of note include:
Our cad from 2019 is available here (3.7gb of mess).
Team 4926 basic chassis REV 4 (2017, 2018, 2019…and maybe 2020!)
https://grabcad.com/library/team-4926-2019-off-season-drive-train-design-1
Adding 1519’s code release to the list: Team 1519 - 2019 Code Release w/2020 Beta Test Updates (Java)