The FRC 174 Software Team is proud to release our 2017 software for our robot, vision app, SmartDashboard plugins, and simulator.
Autonomous scripting using the Command framework
Global positioning system using feedback from encoders and a gyroscope to ascertain our (X,Y,Angle) position on the field at all times
Motion profiling for autonomous driving and turning (based on work done by The Cheesy Poofs)
Path Planning for curved autonomous driving (100% stolen from The Cheesy Poofs)
Android vision app which ran on my old Samsung Galaxy S5 (based on work CheezyVision)
Lag compensating autonomous driving to the vision targets (based on The Cheesy Poofs)
Custom widgets to show the current state of our superstructure
Coordinate Viewer which draws our currents robot position as it relates to the field, where the camera thinks the targets are, and the paths/trajectories we are trying to drive in autonomous
Autonomous Script widget that allows us to edit our auto scripts right from the SmartDashboard instead of having to FTP into the robot, change the file, FTP it back
Match Number widget which crawls the driver station logs and tries to figure out the current match number, which is used in our various debugging logs. This should no longer be necessary in 2018 (finally)
Android App that uses the front facing camera to detect the vision targets
Had ability to change the vision parameters on the fly
Would save every image into a match number stamped folder on the phone. This was incredibly useful for tweaking our parameters during practice matches at the two events we went to, and we could stitch them together post mortem to make cool videos like this https://www.youtube.com/watch?v=DMLI6_s4Wrs
A java-based simulator built to simulate any java robot. It also should simulate C++, Python, C# (anything with a native interface that talks to the HAL) robot. We often don’t get a robot to play with until the end of a season, so this allows us to test our code ASAP. Over the course of the offseason, I’ve worked to get this more ready for public use.
It has been modified to comply with the WPILib mocking framework, and we have merged a lot of our simulators down into the library for 2018. With the Gazebo simulator not quite ready for primetime, this provides a simple, albeit not 100% physically accurate way to simulate your robot.
At the moment, we have support for the most used features in WPILib (standard speed controllers, encoders, analog IO, digital IO, SPI gyro, 3-axis accelerometers), as well as the NavX systems 3-axis gyro and 3-axis accelerometer. It has beta support for the 2018 CTRE beta libraries for the TalonSRX and PigeonIMU, but without them having open sourced code everything outside of the AppliedVoltage mode might not behave anything like what would happen in the real world.
After the post-kickoff craziness settles down, I’ll button everything up and make the 1.0.0 release when all of the WPI/3rd Party code gets released and make sure the documentation us up to snuff. In the meantime, you can read more about it on the simulators wiki
If you have any questions feel free to ask,
PJ - Lead Software Mentor FRC 174