gnewt / bainbridgefirst Goto Github PK
View Code? Open in Web Editor NEWSpartronics Team 4915
License: MIT License
Spartronics Team 4915
License: MIT License
For more information, see: http://wpilib.screenstepslive.com/s/3120/m/7912/l/79730-using-the-motor-safety-feature
In RobotMap.java, enable safety and set safety timeout to 0.1 secs for both motors (similar to our drive train motors.) Watch for the auto generated code blocks for our custom code.
Validate that driver station's test mode can be used to calibrate talon motor controller. Note, instead of using the joystick, test mode's motor controls would be used.
From the manual: http://www.crosstheroadelectronics.com/Talon_User_Manual_1_1.pdf
6) Calibration
The calibration procedure takes the minimum, maximum and center values of the PWM input signal and scales the output based on these values. Calibrating the Talon will allow full range of control with PWM signals that are not within the default range. Calibrating will also correct any non-center issues with input devices such as gamepads or joysticks.
To calibrate the Talon:
Identify the requirements, design and code autonomous robot functionality.
Brainstorm and list driver controls and map to specific joystick buttons/movements.
Looks like we have issues accessing our static members correctly, which are declared in Harvester.java but used in HarvesterWheelsBack and HarvesterWheelsForward and few other places as well.
public static final int INTAKE = 1;
public static final int EXPEL = 2;
// code below refers to the harvester instance of static member - generates warning Robot.harvester.setWheelSpeed(Robot.harvester.getHarvesterSpeed(Robot.harvester.INTAKE));
// code should be referring to the class static member
Coding Practices -- Done
IP listings -- Done
Robot builder information -- Done
Need higher precision possibly by varying the speed of the turn.
RetractGearboxPneumatics and LoosenGearboxPneumatics.java do not have current functionality in their execute methods. Will want to change around how the commands work.
We must check to make sure that the harvester is fully extended with the latest magnetic switch and the launcher is cocked back before loosening the gearbox and firing the launcher w/ ball.
It will be good to have a permanent link to the cRIO's debug outputs. Lets use the backup classmate for this. I would like to see this done first thing in the morning (2/17) as we are setting up our system.
See: http://wpilib.screenstepslive.com/s/3120/m/8851/l/79731-using-netconsole
If there is no gyro, 180 turn will not work. Driver should be notified via the driver station messages to know they should be doing manual turn instead.
Joystick neutral position applies power to motors, causing them to hum and waste power.
We need to breakdown how we will make the winding motor work with our limit switch, running it until the limit switch returns a true value (launcher is fully cocked back) and then kill the motors.
Code in DriveStraight.java includes a (short) delay in execute(). This seems unnecessary.
protected void execute() {
double angle = Robot.gyroscope.getAngle(); // get current heading
Robot.driveTrain.drive(1.0, (angle) * (KP)); // drive towards heading 0
Timer.delay(0.004);
}
The delay is for 4ms. Note that execute() is called by the scheduler every 20ms, so there is already a 20ms delay between iterations.
If the issue is jitter in the gyroscope reading, it may be better to average the angle over a series of execute() calls, or maybe implement a PID.
At the very least, I'd remove the Timer.delay() call from the code...
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.