V3.07 WPILib LabVIEW Math -- FRC Season 2023 -- Update 5
V3.07 WPILib LabVIEW Math - Control and Trajectory Library
Description
This is a LabVIEW port of the math section of WPILib for the First FRC Robot Competition. This library implements almost all of the C++/Java WPILIB math library for LabVIEW users. This is a native port. The library includes some enhancements including digital sequential logic functions, PID autotune, and Simple Motor Feedforward Ka tuning helper. The library also includes a number of utility programs - robot simulators, and trajectory creation utilities.
This release has been tested with LabVIEW and it's libraries released for the FRC 2023 season.
Installation
IMPORTANT If version 2.x of this library are currently installed, open NI Package Manager and remove them before installing this new package. This is needed because of the package name change.
To install:
- Download the "wpilibmathlv20*.nipkg" install file (The * is replaced with the library version number.)
- Double click the "wpilibmathlv20*.nipkg" file. (Administrator permissions are required to install) Previous versions will be upgraded.
Optionally to install the function examples (highly suggested):
- Download the "wpilibmathexampleslv20*.nipkg" install file (The * is replaced with the library version number.)
- Double click the "wpilibmathexampleslv20*.nipkg" file. (Administrator permissions are required to install) Previous versions will be upgraded.
Optionally if you want to compile the JSON simulator examples the wpijsonsimupdatelv20 package is also needed.
- Download the "wpilibjsonsimupdatelv20*.nipkg" install file (The * is replaced with the library version number.)
- Double click the "wpilibjsonsimupdatelv20*.nipkg" file. (Administrator permissions are required to install) Previous versions will be upgraded.
Removal
To uninstall:
- Open NI Package Manager. Select the package(s), then select uninstall.
What's New Since 3.06
-
Added field and field element display VI's. This allows LabVIEW dashboards to display the current field, robots and other field elements, and move them around based on odometry or other position data. Also added an example that uses this field display./
-
Added new Ramsete Execute routines that can use external odometry. This allows other odometry routines, such as Pose Est 2, or Diff Odom 2, to be easily used. (This allows for easier implementation of absolute odometry.)
What's Changed
- Some small documentation corrections were implemented.
What's new since 3.04
- Added Diff / Meca / Swerve Pose Est 2 Execute functions. This is a single LabVIEW function that encapsulates functions needed to perform odometry based on wheel distances and gyro, and add vision measurements.
- Added Execute functions for State Space control and simulation routines.
Notes for users upgrading from version 2.x
If you use any of the 2d geometry routines directly from previous versions of the library before they were renamed with the 2d suffix, they will cause an issue the first time your project is opened. If this happens "browse" to "c:\program files (x86)\nationalinstruments\labview2020\vi.lib\rock robotics\third party\jasjunk\trajlib" (I may have the name not exactly correct) and find the routine with 2d in the name. For example pose_interpolate becomes pose2d_interpolate.
Complete Change Log
Full Changelog: V3.06...V3.07
Previous recent change logs:
V3.05...V3.06
V3.04...V3.05
V3.03...V3.04
V3.02...V3.03
V3.01...V3.02
V2.12...V3.01
V2.12A...V2.12B
V2.12...V2.12A
V2.10...V2.12
Known Bugs
- If the create trajectory utility version 2.03 was used, the new utility might not read the config XML file. (Prior and later versions should be okay.) The format of the file was changed slighted. If this problem is encountered, the XML file can be edited (with Notepad) and changed as follows:
Change this:
<Boolean>
<Name>UseWeights</Name>
<Val>0</Val>
</Boolean>
to:
<Boolean>
<Name>UseWeights</Name>
<Val>0</Val>
</Boolean>
<String>
<Name>FieldName</Name>
<Val>2020 Infinite Recharge</Val>
</String>
Other Notes
The source code for the utility programs are not included in this repository. There is a separate containing the utilities, samples, and test programs. That repository can be found here: https://github.com/jsimpso81/WPIlibMathLabVIEW_Examples
Please report issues using github. I'll try to handle them in a timely manner (no promises however). Suggestions, and enhancements are always welcome.