Prateek Machiraju
841ef91c0f
Use gyro angle instead of robot angle for odometry ( #2081 )
...
The odometry classes previously took in the robot angle as an argument, meaning that users had to take care of offsetting the gyro themselves to accurately report the robot angle. This change will make it so that users will not have to worry about resetting gyros and adding offsets themselves, as this will be handled by the odometry classes.
2019-11-15 17:34:10 -08:00
Thad House
8280b7e3af
Add DutyCycleEncoder and AnalogEncoder ( #2040 )
2019-11-14 22:51:33 -08:00
CTT
565e1f3e79
Fix spelling in MecanumDriveOdometry docs ( #2072 )
2019-11-11 23:25:09 -08:00
Peter Johnson
3e049e02f0
Add name to HAL Notifier
2019-11-11 22:03:29 -08:00
sciencewhiz
d748c67a54
Generate docs for command libraries and fix doclint enable ( #2071 )
2019-11-11 21:38:04 -08:00
Oblarg
e3dd1c5d77
Fix small bug in SplineHelper ( #2061 )
...
Also add comments for clamped cubic solution.
2019-11-10 22:52:24 -08:00
Oblarg
7dc7c71b58
Add feedforward components ( #2045 )
...
Add helper classes for computing feedforwards with parameters supplied by the characterization tool.
2019-11-09 20:16:42 -08:00
sciencewhiz
94843adb8f
Standardize documentation of Speed Controllers bounds ( #2043 )
...
Some were in constructor docs, some in init function docs, and some
inline in code. Move them all to class docs.
2019-11-09 09:14:53 -08:00
Thad House
ff39a96cee
Make DigitalOutput a DigitalSource ( #2054 )
...
It's perfectly safe to use as a DigitalSource, and can enable some cool tricks.
2019-11-07 20:03:43 -08:00
Peter Johnson
7508aada93
Add ability to end startCompetition() main loop ( #2032 )
...
This is useful for both cleanly exiting from simulation and for unit testing
at a framework level.
This change required removing move constructor/assignment from IterativeRobot.
2019-11-05 21:33:09 -08:00
carbotaniuman
ed30d5d40e
Add JSON support for Trajectories ( #2025 )
2019-11-02 11:35:03 -07:00
Thad House
1d695a1660
Add FPGA Duty Cycle support ( #1987 )
2019-11-01 23:41:30 -07:00
Thad House
509819d83f
Split the two command implementations into separate libraries ( #2012 )
...
This will allow us at the user code side to determine to include old commands, new commands or both.
2019-11-01 21:58:54 -07:00
Oblarg
c5186d8159
Clean up PIDCommand ( #2010 )
...
PIDCommand uses a function based (callback) model, so functions designed for use in derived classes are of limited utility.
2019-11-01 13:11:55 -07:00
Oblarg
9ebd23d61e
Add setVoltage method to SpeedController ( #1997 )
...
Add a voltage-compensated setVoltage method to SpeedController, which is sorely needed to help teams use feedforward-based controls effectively. Also uses correct units on the cpp side.
Also update relevant examples.
2019-11-01 09:32:40 -07:00
Prateek Machiraju
f6e311ef86
Fix SplineHelper bug ( #2018 )
...
Add unit test to check interior waypoints
2019-11-01 09:28:11 -07:00
Oblarg
f33bd9f050
Fix NPE in RamseteCommand ( #2019 )
2019-11-01 09:26:48 -07:00
Oblarg
cc07425182
Change command decorators to return implementation ( #2007 )
...
Changes Command decorators to return actual implementation classes rather than Commands. Previously, decorated commands were not Sendable, which was a problem. Also, there's no real reason not to expose the implementation details here, as we're extremely unlikely to change the implementations in the future.
2019-10-30 21:28:08 -07:00
Thad House
9dc30797e4
Fix usage reporting indices ( #2009 )
...
According to NI, 0 is unspecified, and all the indices need to be
index + 1, so the first index becomes 1.
2019-10-29 21:34:10 -07:00
Prateek Machiraju
8e333c0aad
Use FPGA Time instead of wall clock time for odometry ( #1996 )
2019-10-27 07:57:35 -07:00
Oblarg
75438ab2ce
Add RamseteCommand ( #1951 )
2019-10-26 21:33:41 -07:00
Oblarg
79f8c5644a
Add TrapezoidProfileCommand ( #1962 )
2019-10-26 09:58:13 -07:00
Prateek Machiraju
9440edf2b5
Refactor TrajectoryGenerator ( #1972 )
2019-10-26 09:39:47 -07:00
Banks T
36ea865edc
Add toString for geometry and trajectory classes ( #1991 )
2019-10-26 08:18:56 -07:00
Oblarg
cbe05e7e8a
Update ProfiledPIDController API ( #1967 )
2019-10-24 20:37:55 -07:00
Tyler Veness
d04eb35465
Deprecate old PID classes ( #1964 )
...
PIDBase was only used by the old PIDController, which is deprecated.
PIDInterface is only used by PIDBase, and that's deprecated by this
commit.
2019-10-24 20:32:31 -07:00
CTT
4b0ed910ee
Make SwerveDriveKinematics.toChassisSpeeds() public ( #1976 )
2019-10-24 09:13:04 -07:00
Peter Johnson
6635ea75ee
Fix NPE in SendableRegistry.foreachLiveWindow() ( #1974 )
2019-10-22 21:12:07 -07:00
Prateek Machiraju
4f034e6c14
generateTrajectory: default reversed param to false ( #1953 )
2019-10-21 16:21:46 -07:00
carbotaniuman
3fc89c84d6
Make splinePointsFromSplines public ( #1963 )
2019-10-20 14:11:17 -07:00
Peter Johnson
f3ad927f45
Update Java SmartDashboard and LiveWindow to match C++
2019-10-19 11:36:24 -07:00
Oblarg
53816155ba
Improve command decorator names ( #1945 )
2019-10-19 08:13:33 -07:00
Prateek Machiraju
c10f2003c5
Add generateTrajectory overload ( #1944 )
...
Add an overload for the generateTrajectory method that accepts a DifferentialDriveKinematics instance instead of a list of constraints. This instance is used to automatically create a DifferentialDriveKinematicsConstraint behind the scenes, saving the user some verbosity.
2019-10-18 08:02:42 -07:00
Prateek Machiraju
63cfa64fb3
Add getters for pose in odometry classes ( #1943 )
2019-10-18 07:58:22 -07:00
Oblarg
f4eedf597f
Fix ConcurrentModificationException in CommandScheduler ( #1938 )
2019-10-18 07:56:12 -07:00
Matt
bb0b207d2f
Fix array out of bounds exception caused by parallel race group ( #1935 )
...
The current index would be set to -1 by the execute method of ParallelRaceGroup,
and then an index out of bounds exception would be thrown by the end() method of
SequentialCommandGroup. This change bound checks the current command index as well
as only calls end at the end of parallel race group rather than during execute.
2019-10-18 07:55:14 -07:00
Peter Johnson
84c185803d
LiveWindow: catch errors in callback/builder functions ( #1921 )
...
This prevents LiveWindow bugs from crashing the entire robot program.
Instead, an error is printed and the object is removed from LiveWindow.
2019-10-09 22:22:30 -07:00
Thad House
0e3b0f3da7
Remove deprecated free() calls ( #1925 )
...
Replaced with the standard close()
2019-10-08 21:30:33 -07:00
Thad House
45b766a5dc
Fix main thread ID being potentially incorrect for simulation ( #1923 )
2019-10-07 20:45:33 -07:00
Peter Johnson
10deba8546
Remove sendables from SendableRegistry when close() is called ( #1917 )
...
This only affected Java (C++ RAII doesn't have the same problem).
Needed to add close/AutoCloseable to several classes to add this behavior.
2019-10-05 23:42:53 -07:00
Peter Johnson
a9f0e46680
Implement sim devices for ADXL345, ADXL362, ADXRS450, Ultrasonic
...
This makes the halsim_adx_gyro_accelerometer simulation plugin and
the accelerometer part of lowfi_simulation obsolete.
2019-10-05 22:39:00 -07:00
Peter Johnson
aa90645865
Add ability to associate other devices with a SimDevice
...
Implemented only for AnalogInput, DIO, and Encoder.
2019-10-05 22:39:00 -07:00
sciencewhiz
366091fa87
Document that ConditionalCommand requires all subsystems ( #1909 )
...
Fixes #1683
Fixes typo
2019-09-29 20:35:41 -07:00
sciencewhiz
c58b072c89
Fix Drive usage reporting order ( #1908 )
...
Fixes #1893
2019-09-29 20:35:04 -07:00
Tyler Veness
af8ce568d1
Add Ramsete unicycle controller ( #1790 )
2019-09-29 16:48:12 -07:00
Tyler Veness
b2c2934d05
Fix javadoc warnings about invalid usage of ">" ( #1904 )
...
The trajectory gen docs use "->". ">" has been replaced with ">".
2019-09-29 16:38:48 -07:00
Thad House
cb54602d49
Add support for writing RTR CAN Frames to the CAN API ( #1900 )
2019-09-28 16:49:34 -07:00
Thad House
9f740e5905
Use OS for serial port instead of NI VISA ( #1875 )
2019-09-28 16:49:11 -07:00
Peter Johnson
b23baf611a
Add ability to run robot main loop in a separate thread ( #1895 )
...
Default behavior is still to run the robot main loop in the main thread.
The ability to run the robot main loop in a separate thread and add a hook
for running a different function in the main thread is needed for simulation
GUI support on some platforms.
2019-09-28 15:43:24 -07:00
Prateek Machiraju
457f94ba26
Add trajectory generation using hermite splines ( #1843 )
2019-09-28 15:40:56 -07:00