Bionic Bulldogs #21502
We are team 21502, the Bionic Bulldogs from North Carolina. We are part of a five-team group called Creekside Robotics. This is our team's third season together. Some of us came up from the middle school teams in Creekside, and others started on the high school teams. Our middle school teams are Bots by the Creek 15707 and Boltiverse 21490. Our fellow High school team is Entropic Fluctuations #19410.
Power Play 2022-2023
Center Stage 2023-2024
The Team
Emma
Senior
3rd FTC Season
Scouting
Mechanical
CAD
JD's Dog JC
JD
Senior
3rd FTC Season
CAD
Programming
Mechanical
Xander
Junior
5th FTC Season
Programming
Eli
Sophmore
4th FTC Season
Mechanical
CAD
Caleb
Sophmore
2nd FTC Season
CAD
Mechanical
Dean
Sophmore
2nd FTC Season
Programming
Dylan
Sophmore
2nd FTC Season
Mechanical
Alex
Freshman
3rd FTC Season
Programming
Outreach
Community Tools
We have developed several things to assist us with our common frustrations throughout several robotics seasons. From auto headaches of programmers to "When can I test this?" from mechanical. As a team, we've created ways to make coding an effective auto easier and prototyping parts of a robot.
Rookie Scrimmage
We co-hosted a Rookie Scrimmage with team 19410 Entropic Fluctuations and worked with our sponsor John Deere. We had 9 rookie teams with their bots in all conditions participate to acclimate the teams to a competition environment and show them how competition's works. 96% of students were first or second year.Scrimmages at the beginning of the season always fill up quickly and are mostly veteran teams. At qualifiers, rookie teams are always struggling with many different aspects of their robots and how competitions work, so we wanted to help minimize that this year with our own scrimmage for these younger teams.
Mentoring
Since we were creating a 2nd team, we held many interest meetings and led several lessons to teach new members some of the basics.We have also continued to mentor 3 other teams within Creekside. We visited Reedy Creek MS weekly to mentor 15707 Bots by the Creek and 21490 The Boltiverse. We helped them with, organization and planning, design suggestions and advice, portfolio, presentation, and programming.
FLL Day
We hosted an FLL Day for the past two years with 15 teams at Southeast Raleigh. We helped run the tournament by keeping score, time, referring, and queuing teams. We demoed our robot near the pits so that teams could come up and ask us questions about our robot and FTC.
Community Tools
Our dynamic opmode loader library allows teams to make changes to and upload opmodes without needing to recompile and upload the entire robot controller app. It integrates with all of your team's existing modules without any changes. Roadrunner is integrated into it, so paths can be quickly uploaded and tweaked using our Roadrunner path tool.
FTC tool for making paths for the Roadrunner library. You can create all of your paths using this tool and then export them to Java files. This can be useful to copy into your project to run on your robot.
This is a REV to GoBilda design from the FTC team the Bionic Bulldogs, based in North Carolina. The protobot is a two-wheeled robot made from GoBilda parts that allows teams to drive around and prototype different ideas for the game without attaching to the main Robot!
Seasons
Center Stage 2023-2024
This season, we were very ambitious and created a completely custom robot with 70 custom parts. We hung every round and always launched our drone. With our X-drive, we zip from the backboard to the alliance wing, staying under 12 inches and navigating the field without turning around for scoring.
State Competition
Think Award 2nd place
Qualifying Competition
Thales Academy:
Inspire 3rd place, Think award, Finalist Alliance CaptainSouthern Guilford High School:
Inspire 2nd place, Think award 2nd placeIslamic Association of Raleigh:
Inspire 1st place, Think award 3rd place
Power Play 2022-2023
This season, we designed our robot around a custom-made center turret based on a lazy susan. It turns 360 degrees at the speed of light! We fit everything needed into our small 11x10.5-inch drive train!
State Competition
Think Award 2nd place, Semifinalist Alliance Captain
Qualifying Competition
Smithfield-Selma HS:
Inspire 3rd place and, Think AwardAscend Leadership Academy:
Finalist Alliance, Inspire 2nd place
Dynamic Opmode Loader
How To Use
1. Create instance of OpmodeLoader class
2. Call OpmodeLoader::init()
3. Add your functions using the function builder (explained below)
4. Wait for start
5. Call OpmodeLoader::start(int recognition = 0)
6. Optionally call OpmodeLoader::update(double deltaTime, double elapsedTime)
Or call OpmodeLoader::startLoop(int recognition = 0) to start the opmode and repeatedly call update
Function Builder Object
1. Get function builder from the OpmodeLoader class using OpmodeLoader::getFunctionBuilder()
2. Set the class to pull functions from using FunctionBuilder::setCurrentObject<T>(T object)
3. Add your functions using FunctionBuilder::addFun(String name, LuaType rtnType = LuaType.Void, List<LuaType> argTypes = Arrays.asList(LuaType.Void)
Classes
1. Call FunctionBuilder::newClass() to create a class
2. All functions created during a class get put into that classes table instead of being global
3. Call FunctionBilder::endClass(String name) to make the class global
For RoadRunner
Replace your instance of OpmodeLoader with OpmodeLoaderRR:
Building The Paths
Our Roadrunner Trajectory Builder tool can build paths in the same format that the robot is expecting and can upload them to the robot.
On the top bar, click Robot, then Upload Current to upload the current path or Upload All to upload all
The LUA Code
The Lua code can be anywhere and does not have to be in the project (we recommend putting it in the project root so it is added to your team's git repository).The code can't be edited in Android studio and will not show up in the file tree as it is not part of the Android project. We recommend editing it in a program like VScode, but anything will work.Getting the Lua code onto the robot:
Run the FileSync program in that folder. All of the files will be uploaded to the robot at the same place that you had them on your machine.
How to download
Open build.gradle for the TeamCode module
Add the shown lines:
Open build.gradle for the project
Add the shown lines:
Open build.dependencies.gradle
Add the shown lines:
Open the github page and download the project as a zip file.From the zip folder, copy the cpp folder into ProjectRoot/TeamCode/src/main.Copy the opmodeloader folder into the inner teamcode folder
(project file structure is shown below)Finally, do a gradle sync and you're ready!
Setting up the Lua environment
1. Copy the lua folder from the downloaded zip into the project root.2. We recommend also downloading VScode for editing the Lua code as it will not show up in Android Studio.3. If you are using Visual Studio code add the Lua-language-server extension for code completion, errors, type checking, and more
Roadrunner
1. Copy roadrunner folder into the opmodeloader
2. Add the trajectory builder tool
3. Download our Roadrunner Visual Trajectory Builder tool and put it in the project root
Have any questions? Send us a email and we will respond as soon as possible!
Visual Trajectory Builder
NOTICE: The deep dive field setup will be added once the game is released.
Layer System
The layer system is to help organize paths by making certain nodes or segments selectable. The layer setting in the nodes or segments is the layer that object is on, the global layer setting selects which nodes can be selected. Objects that can be selected are drawn on top of everything, everything else will be drawn transparent. When the global layer is -1 then all objects are selectable.
Recognition System
Allows people to have separate routes in their paths. The global setting is the route that the program uses when exporting a path. -1 means all routes and anything grater is that parts rout number.
Saving, Loading, and Exporting
The Save as button on the menu bar opens up a file explorer like window. The top of the window has 2 buttons and a text box, below that will be all of the files and folders in the Save folder. Clicking on a folder will take you into that folder, clicking on a file will override the path in that file. If you are in a folder then a '<-' button will appear that will take you out of that folder. In the text box enter the name of the file you want to save it as and hit the + button.The Save button will save the path in the file you have saved it in or '.path' if it has not been saved before.The Load button will open the file explorer window where you can select the path to load.The Export button will export the path with the same file path as it was saved in except in the export folder instead of the save folder.
Protobot
Refine Your Ideas With Advanced Prototyping Capabilities
Our protobot is equipped with easy mounting holes to allow you to be able to mount a variety of designs, this empowers teams to innovate and experiment.
Why we created Protobot
We created Protobot because we saw a similar design online using VEX pieces. We thought this would be a great way to prototype different design ideas we had during the season and we knew we could change it so that it was made from goBilda parts that we mainly use.
Protobot Instructions
Part list
1x Rev Control Hub
1x Matrix 12V 3000mAh NiMH Battery
2x Yellow Jacket motors (312/435 RPM)
4x 96mm Omni Wheels
2x Hub Shafts
3d printed Spacer
1x 8mm ID mini flanged ball bearing
1x 6mm ID mini flanged ball bearing
2x 1504 Series 32mm OD Pattern Spacer (4mm Length)
4x 2303 Series Steel, MOD 0.8 Pinion Gear (8mm REXâ„¢ Bore, 36 Tooth)
1x 1123 Series Pattern Plate (1 x 3 Hole, 43 x 96mm)
Step #2
Connect the two STLs with a 3-hole pattern plate on the top of the protobot.
Step #3
Attach a quad block mount to each motor. Then put a gear on each motor and screw them in through the top of the two pieces.
Step #4
Put the 6mm bearing in the bearing hole closest to the middle with the flange outward. Then put the 8mm bearing into the hole closer to the edge with the flange facing inwards. Feed the hub shaft through the large hole on the outside until the shaft is through the 8mm bearing only, then put the other gears onto the shaft and finish feeding it through the other bearing.
Step #5
Now attach to the wheels, take two wheels with alternating rollers and put the OD pattern spacer between and screw it into the hub shafts.
Step #6
To attach the control hub, take the 3d printed spacers and put them over the 4 holes and then either take m3 screws or use zip ties.
Contact us!
Send us an email with any questions about our resources, outreach, or anything!