The ARISE AUV project has just reached its first major milestone towards the 2009 competition: the release of XVF Alpha 1. This release follows a massive refactoring of the previous years code to increase ease of programming, modularity and most importantly to create a single generic framework on which all future ARISE vehicles can be based.
Each Release of XVF is the result of a development cycle starting with objective recognition and planning, development, feature freeze and concluding with the design of test cases and the successful testing of the framework.
The Alpha 1 Release includes:
- XML Meta Programmed Vehicles - all information on vehicle specific configurations and classes is stored in xml and polymorphically deserialized into the framework.
- Simplified Control API - with the help of enumerations for each axis and each direction the Control class has been greatly simplified.
- Extensions - XVF now includes a binding point for all XVF extensions so that they can be accessed in a similar manner to the default modules of an XVF vehicle.
- Smart Exception Handling - extensive use of custom exceptions allows for graceful component failure and error reporting.
- Based on Open Source Success - The XVF relies heavily upon the open source java serialization framework Simple Xml.
- Junit Test Cases - allows for a degree of certainty in the stability and correct implementation of the XVF.
Following the alpha 1 release of XVF an alpha 2 release is currently planned to coincide with the first pool test of the AUV on January 20th. This release will include:
- a Machine Vision Client Extension
- the XVF Machine Vision Protocol - a implementation independent method of accessing the objects of a machine vision server as well as the ability to control it's current objectives.
- a PidFeedbackLoop implementation - see http://en.wikipedia.org/wiki/
PID_controller - an extendable gui for accessing vehicle data from any XVF vehicle
- a Vehicle Simulation Client Extension
- various XVF back-end and API stability and usability improvements.
To coincide with the Alpha 2 release of the XVF the AUV's code will also include:
- an AUV motor controller implementation (ported from last year's auv)
- a IMU sensor implementation
- a Pressure Sensor implementation (ported from last year's auv)
- the AUV Simulation Environment which will interface with the XVF Vehicle Simulation Client Extension to provide complete realistic physics simulation of the AUV
- AUV XVF Meta Data
- AUV Gui Meta Data
In the weeks approaching the release of Alpha 2 I will be holding a second XVF introductory seminar for those who could not attend the first.
Finally I would like to thank all those who helped out with XVF this semester and the programmers of it's predecessors, the 2008 AUV and 2007 AUV, without which the current release would not be possible.
Cheers,
Rob Gilson
ARISE AUV Team Captain
PS. for ARISE members: feel free to comment on the XVF, the alpha 1 release is all online on the repo at 
https://arise.site.uottawa.ca:81/xvf/file/b51fd1c92967
No comments:
Post a Comment