team612 / 612-2018 Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
One thing always makes it open, another always close.
If the gyro senses that the robot tips by more than 10 degrees, quit motion replay
Right now, the code we have for a mecanum drivetrain works for translational motion (moving forward, back, left, and right) but it cannot turn.
After extensive testing, I think individually controlling each talon is a good sanity check, and then we'll go from there. Read through this document, which explains how to control mecanum drive directly, and try to implement this in code. Some help getting started: a lot of math functions are already implemented, for example square root is Math.sqrt()
. All these have the Math.
syntax. The desired magnitude should be Math.sqrt(x*x+y*y)
where x
is the left-hand joystick x-direction and y
is the right-hand joystick y-direction. The desired angle should be Math.atan2(y, x)+Math.PI
, where x and y are the same thing. The desired rotation is the right-hand joystick x-direction.
If you have any questions, please ask for help!
Base the code off of the kitbot
branch.
In the code, there is a navX object in Robot.java
. This command should simply call the resetDisplacement
method of that object once, and then immediately end. It does not require any subsystem, and isFinished
should just return true.
Right now in DefaultLift.java
, the command either uses the encoder or PID to control the lift, based on a variable in OI.java
. Make a new command called SimpleLift.java
and LITERALLY COPY AND PASTE THE CODE from DefaultLift.java
to SimpleLift.java
. Then, move the code from this commit into DefaultLift.java
.
Finally, in the subsystem Lift.java
, set DefaultLift
as the default command in the initDefaultCommand()
method. MAKE SURE TO MAKE A NEW BRANCH.
The talon that controls the pivot arm has an encoder attached to it (read up on how to use it!), which lets it know exactly where it is. So create a number of preset angles, and when one button is pressed, have it move up to the next highest preset. When another button is pressed, have it move down to the next lowest preset.
Code review the working code on the robot
make a talon in the new pivot arm subsystem and a command to move the talon.
We are going to be prototyping two drivetrains to decide which the drive team likes better. The first is the mecanum drivetrain, which exists and we are working on now. The other is omni-traction. In this setup, there are two pairs of wheels horizontally. The first pair is omni wheel
while the other are are traction wheels
The idea with omni-traction is that in a normal drivetrain with four traction wheels, when the robot turns it spins around the center and all the wheels lose tractions. With this setup, the rollers on the omni wheels allow the robot to turn and the traction wheels stay in place, meaning that it pivots on a horizontal line going through the traction wheels. This makes it easier to line up the robot without having to do something clunky like a 3 point turn.
For this, read through documentation and other things you may find online and try to decide what the best way to do this is.
Why does it still say 2017 steamworks?
On the wiki tab, create a table or diagram that shows what commands each button on BOTH joysticks (driver and gunner) are linked with. Update this as more things are linked together.
Look in OI to get the information as well as the Default
commands for each subsystem.
Change readme as it still has steamworks in the name
The talons on the elevator will have an encoder, that lets it figure out exactly where it is (read up on how to use encoders). So create a certain number of preset heights. When one button is pressed, it moves up to the next highest height, and when another button is pressed, it moves down to the next lowest levels. These buttons should be on the gunner joystick.
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.