|
Here is information from Worcester Polytechnic Institute (WPI) on the WPILib.
The WPILib is a complete open source library that provides a simple, intuitive framework that makes it easy to write programs for your robot in either C/C++ or LabVIEW. Additionally, because it is open source, teams have the ability to "look under the hood" and experienced programmers can easily adapt code to meet their own complex needs.
To learn more about the features and support for the WPILib, download the attached PDF and visit the WPI website.
Goals of the C / C++ System
Reduce the barrier to entry for new teams - easy programs are easy to write
Enable arbitrarily complex programs for experienced teams
Easy to create reusable components
Can be updated to a new version with no team robot code changes
No secrets "under the covers" - everything visible
Teams have the ability to support themselves
Robot Environment
National Instruments CompactRIO
128mb RAM 400mhz PowerPC
FPGA (Field Programmable Gate Array) for hardware support of sensors
WindRiver VxWorks real-time operating system
Full support of multi-tasking real-time programs
WindRiver Workbench
Based on industry standard Eclipse Integrated Development Environment
Full "on-chip" debugging/downloading support over Ethernet or 802.11 connection
Extensive C or C++ development tools and libraries
WPILib C/C++ Library
Similar level of abstraction to easyC / WPILib (current versions)
C/C++ library
Library functions available from C or C++
Teams have the opportunity to learn about and use object oriented programming techniques
Ability to write mixed C and C++ programs
C and C++ have equivalent functionality
Framework to support competition programs
Automatic or manual sequencing of Autonomous and Teleoperation code
Runs on top of VxWorks with full support for real-time features
Parity between C/C++ and NI LabVIEW libraries
Why Open Source
Teams will have a better understanding of the code since they have access to the source
Allowing teams to contribute makes for a more standardized code base that would be more acceptable to everyone
Community ownership since there is no hidden proprietary code
Multi-team projects and team contributed improvements now easy - final works available to the
FIRST community
Teams can more easily extend and adapt code to their own application
Open Source Community Project
Community model
Modeled after other open source projects like Linux
Small group of "committers" from the community that make decisions about disposition of new code
We want to encourage FIRST Community contributions and reviews
Support for software through the FIRST community
All C/C++ library code on SourceForge server
Free read access to all source code
Teams will have a better understanding of the code since the source is available
Derived works are OK
WPILib Support for Robot Programs
Classes for all commonly used devices through the FPGA
Camera / Image processing
A/D Converter
Speed controls with user-settable profiles
Gyro
Accelerometer
Driver Station
Speed controls motors
Relays
Solenoids
Counters & Gear tooth sensors
Encoders
Timing
and more...
Classes for high level robot operation:
Driving: based on a robot definition
Arcade steering
Tank steering
Holonomic (Mecanum chassis)
Compressor / pressure sensor
Driver station communications
More to come...
Exception handling Support
WPI / FIRST / NSF Collaborative Web Site
Designed to encourage teams helping teams
Developing tutorials and sample code
Schedule and Availability (tentative)
Fall access to source code and knowledge base
Final version available with 2009 electronics kit
Related Resources
FIRST Robotics Resource Center
FIRST Robotic Competition Resources
There are no comments on this document