frc7540 / timberwolfrobotics2020 Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
This project should not exist under a particular team member. We should create a group to manage this project. This will make things like setting up a website a bit cleaner down the road.
There is a folder called src/.vscode
that holds preferences for VSCode. This shouldn't be in a subdirectory, and should be either moved to .vscode
or removed entirely (if removed, we should also add it to the .gitignore
file.
don't delete, but deactivate all feeder code
Goals:
color sensor
run wheel motor
run flip motor (maybe)
write multiple autonomous code sets and look into switches to access them
wire up cmds to run control panel motor, pneumatics, and color sensor values
It would be nice if we could have variable speed control for the shooter. To do this, we should start by adding a setSpeed(double speed)
method to Shooter.java
look through the docks to see how to switch between autonomous cmds using m_autoSelected in robot.java
write code for pneumatics that push up the color sensor/motor mechanism
add sequential commands to have a toggle that pulls feeder out, runs / stops running, pulls feeder in
Currently, it is possible for the shooter subsystem to be set to speeds greater than 1.0 and less than -1.0. This should not happen.
We need to modify Shooter.java
such that:
speedUp()
, if fastSpeed
is greater than 1.0, set it to 1.0speedDown()
, if slowSpeed
is less than -1.0, set it to -1.0Right now, the drive subsystem takes controller input directly. Lets open this up with a method in Drive.java
to accept raw X/Y inputs.
We also need to create an additional command (DriveStopCommand.java
) to stop the robot.
allow default cmds to work in simulator
Goals:
run main shooter motor
run motor from ball feed in hopper
Tasks:
Add a Hopper Motor
Add a class for Hopper Motor
Functions for HopperOn and HopperOff
Add command for HopperFeedBall
We need to remap the buttons for the controls making them all usable in a coherent and user-friendly manner.
create sequential cmd to back up/align/shoot
Part of the robot game is to have some kind of autonomous functionality.
Using the resources we have for writing commands, we should prototype a quick autonomous script.
To get started, we should create a command that will drive the robot forward (slowly) for three seconds and then stop. You may need to create a command group to do this kind of action.
create autonomous code for starting position 3 (right)
Reorganize commands into packages so it is easier to see what i going on in the command folder
Change commands, and subsystems to new wpilibj2 libraries
Goals:
pneumatics for pulling in/out (communicate with solenoid)
running wheels motor
create run shooter cmd
add in sliders that change the values of motors such as the hopper, agitator, shooter, autonomous
Goals:
Drive off line
Computer Vision
Shoot
When Boolean returns true, the robot fidgets and doesn't align properly.
issue 66, but in autonomous
create autonomous code for the 1st possible starting position (left)
run a motor for the agitator in the hopper
assign default commands to all necessary subsystems
We need to create 4 commands:
FeederDeployCommand.java
FeederRetractCommand.java
FeederStartCommand.java
FeederStopCommand.java
During testing, we found that the hopper motor would stop after a few seconds and broke the flow of the shooter. Remove the timers in the sequential cmds to fix this
Create a feeder subsystem knowing the current configuration of the feeder system.
So far, we know this will include at least one motor. We need to determine what type and if more motors will be used and start building a subsystem so that it's ready when the hardware is.
make a subsystem that creates a cameraserver instance for the driver camera connected directly to the roborio
create sequential cmds to make them run off single buttons. These should be on the operator controller.
The README.md
file needs some basic information:
That's it. We can add other stuff later.
Due to the way the project was created, a few .log
files managed to end up in the root directory of this project and need to be removed.
$ ls
2020FRCsoftware replay_pid5848.log
README.md replay_pid6476.log
Normally, the .gitignore
file would have helped us here, but the autogenerated one is within the 2020FRCsoftware
folder, and thus doesn't cover these files. Even if it did, these files already exist.
So, we need to delete these from the repository.
We need a set of compound commands that run parallel versions of existing feeder commands:
FeederDeployAndStartCommand.java
FeederRetractAndStopCommand.java
Since we generated this code and we are generally using FRC stuff, things like this ended up on the top of our files:
/*----------------------------------------------------------------------------*/
/* Copyright (c) 2018 FIRST. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
As far as what this means to us, it means we should make sure the appropriate license file is sitting in the root directory of this repository.
The way FIRST likes things, the driver is on one controller and the operator is on another.
We should start by ensuring the binds for our existing subsystems are for the second controller.
since we are no longer going to be using the feeder, remove the code
create autonomous code for starting position 2 (middle)
We need the hopper motor to run in intervals to feed the balls to the shooter in a controlled manner.
The Can motors aren't receiving input which affects the shooter and intake motors. The way we solve this is by setting their default commands to something to the effect of stop or do nothing.
create control panel cmds that runs pneumatics, senses color, and runs motor after a single button press. should be done for both functions 1 and 2 of the control panel
create a parallel command to run the agitator and hopper at the same time
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.