Im working on a list of the robot integration steps so lets say mech and elec are finished. This is the time this is the moment this is the real deal what exactly do you do step by step to integrate the robot?
Tldr im making a list for my team to follow as the working steps when prog gets the robot.
Im welcoming ideas of things to add to the list or preferably complete lists.
To clarify what im talking about is more of a list like this:
I think this varies vastly amongst different teams with different levels of experience, personnel, and physical + fiscal resources.
If you have a good mentor-base and experienced students each should be given responsibilities to complete their offseason due diligence (i.e., making sure new members have the necessary programs on their personal laptops/computers, train/pass down knowledge lessons learned from previous seasons, etc).
During the build season, even when there isn’t a complete robot, programmers should still be working as hard as other sub teams (putting in the same amount of effort and hours).
One thing may be testing complex subsystems by their simple parts so that when they are finished on your robot the coding can simply be tuned towards how it works on the robot. An example of this is if your team isn’t as familiar with getting multiple pneumatics (pistons, solenoids, and all) together, try to just get a few students and a mentor to setup a simplified system and make that work. This personally comes from my experience of my first year as a student where we had a climber with 8 pistons to lock in place and attempt the 2022 climb.
All that to say maximize your time passing down as much knowledge as possible and preparing for the subsystems that will be on your robot before the programming sub team gets it.
As soon as a basic design for the robot is complete, begin code. Even if all you have is a list of subsystems and how they interact, you have 90% of what you need to code. The only thing a finalized design gives you is dimensions to calculate with. Start by figuring out the subsystems you want to organize your code into, ex. drive, intake, flywheel. Then for each one, figure out the different motor/actuator states you need, and the program PID loops. Add simulation support and visualization. Test each subsystem in simulation, and then test how they interact (ex. command groups that pass a game piece from the intake to the shooter, etc). Then write vision, and auto, to work on top of that. Congratulations! You then have full code before the robot is even built! The next step comes once the robot is finished: test the control loops of each subsystem independently, and tune all PID loops, etc. Once that’s done, test complex controls, (like a single button triggering a command group). That should work without many changes because all those errors should be easy to catch with simulation. Finally, test autos!
tl;dr: write everything and test it in sim as soon as the season starts
As a simple todo list:
Write subsystem code once basic designs are done
Test in sim
Write autos and complex controls
Test in sim
Write more convenience futures while waiting for the incredibly slow mechanical team… Alternatively, you can help with electrical and mechanical to make everything faster
Test and tune basic subsystems on a real robot
Test autos and complex features (using vision in teleop, sensor-based actions, pathfinding, etc)
edit: I just reread the post, and realize this isn’t what you were asking, but this still might be helpful anyway.
The way we build our robot is by splitting it into sections. Our drive usually takes under a week, so as soon as its done programming gets to code drive and then the movement parts for auton. During that time, build splits off into sections for the rest of the bot (which is usually just intake and shooter/arm). Usually, programming finishes the drive code by the time we finish the other substations, so they basically just get straight to coding.
During build, programming is there to essentially veto stuff that goes too far lol, so we just get them to judge when they arnt programming.
One of the things that we have decided to install is a requirement to PID or motion magic pretty much every motor possible on our robot right off the bat. This is so we have as much fine control over everything when we need it. Even things like intake is helpful to match speeds and keep it moving with higher powers in case of jams.