O!secour software and project
description
Transcript of O!secour software and project
O!secour software and project
1/23
Mr. THIVEUX GarethMr. TEXIER AurélienMr. GRAIGNIC GuillaumeMr. HAVEZ Maxime
3INFO – G2.2
With the help and support from : Mr. CAMILLERAPP JeanMr. LE LAGADEC PierreMr. LE GUILLOU Xavier
Practical Studies 3INFOYear 2009-2010December, 15thINSA Rennes
Table of contents
• The Project• Partnership• The Software
Project & Software
• Map• Track
Map and track editor
• Runners management• Map visualisation
Real time application
• Mean• Experiences and project• Advices• Our Knowledge
Means
Conclusion
Introduction
2/23
Introduction : More about …
• A family of sports• Requires navigational skills using a map (and
sometimes a compass)• To navigate from point to point, and find control points
(indicated on a given prepared orienteering map)• The objective is to follow the fastest route between
controls (/!\ the fastest is not always the shortest route and can depend heavily on route choice)
• Currently no solution to follow runners on a small zone (GPS => not sufficiently precise)
… Orienteering
3/23
A Project was born …
• Idea of the O!Secour software born 4 years ago • Idea from Pierre Le Lagadec, Physical education teacher here at INSA, and
Xavier Le Guillou, former student from the Computing Department
The Idea
• During an Orienteering race, teacher is far from students :• - The teacher can’t intervene if a student gets lost• - An injury quickly becomes very serious
• Only 2h of P.E. per week, no time for students arriving late• Pretty much impossible to write down an individual or collective report
An answer to a need
• A tool that would give a real-time individual and collective safe follow-up, and allow to make an easy, quick and efficient report
Conclusion
4/23
Partnership with BTS Students• In charge of the electronical part of the system :• 3 components :• - CM• - ERPI• - ORP
BTS Students from Lycée Reaumur, in Laval
• Transceiver has to :• - Receive GPS data from all erpi• - Receive data from orp• - Receive indivual distress or help signals from an erpi.• - Transmit an error signal to an erpi.• - Transmit an individual and collective imperative comeback message to one, several or all erpi.
• Locate all erpi• -all, continuously, with a 5-meter-accuracy
CM : A self-powered portable unit, used by the teacher at the departure/arrival of the race (cm = centrale mobile)
• Transmitter has to :• -Continuously transmit location to the main unit.• -Ponctuously transmit a « message received », distress or help (for instance) signal
• Receiver has to :• - Receive a « message received » signal• - Receive a « Guidance error » message• - Receive an imperative comeback message
ERPI : 16 to 24 individual portable transceivers (erpi = émetteurs/récepteurs portatifs individuels)
• Has to transmit to the main unit the location of the control points with a 5-meter-accuracy. Used by the teacher when placing the control points.
ORP : A tool to check control points (orp = outil de relevé pour les postes)
5/23
O!Secour software
• A software was then created, to receive data from the runners’ erpi, and display them
• Software realised with a specific language (Tcl-Tk)• It includes a map editor and a track editor
The software as it is …
• Now missing a real-time application, displaying, thanks to GPS coordinates sent by the ERPIs, the runners onto a map in a panel of the software
• Need some optimisation also (design/functionalities)• At the time, radiowaves were used, but not working properly
in the forest, so now has changed to GSM transmission
… and how it has to be
6/23
O!Secour software
Map editor
Track Editor Run
JPEG,GIF,JPG
.OSC .OSP
O!Secour software
Map editor
Track Editor Run
JPEG,GIF,JPG
.OSC .OSP
• To convert an existing map into a located map
Aim
• a click on the map to define a point• GPS coordinates input (related with the point)• deletion of a point which have already been created• modification of already input coordinates
Basic operations
• image size (about 2 Mo)• format (.jpg, .jpeg, .gif)
Input, an image file
Map editor
9/23
Map editor(3)
10/23
Map editor(2)
• a map as an image• an XML file which defines GPS coordinates
Outputs (editor returns)
• <map name="STR">• <picture name="STR" width="INT" height="INT"/>• <topleft x="GPS_COORD" y="GPS_COORD"/>• <bottomright x="GPS_COORD" y="GPS_COORD"/>• </map>
Grammar used
11/23
O!Secour software
Map editor
Track Editor Run
JPEG,GIF,JPG
.OSC .OSP
Track editor
• create/modify/delete a start, control points and indications associated to these control points.
• create graphically an ideal circuit and give an estimation of the associated distance.
Aims
• An XML file• A map as an image file
Inputs (generated by the map editor)
13/2313/23
Track editor(2)
• addition of start (red triangle) by click or coordinates• start modification (by drag’n drop or coordinates) • start deletion• addition of a control point (red ring) by click or coordinates • control point modification (by drag’n drop or coordinates)• modification of the index related to a control point• control point deletion
Main operations
• an XML file• a bmp file
Outputs
14/23
Track editor(3)
• <track name="STR">• <sourcemap name="STR"/>• <start x="GPS_COORD" y="GPS_COORD"/>• <markset>• <mark id="NUM" x="GPS_COORD" y="GPS_COORD"
indic="STR"/>• ...• </markset>• </track>
Grammar used
15/23
Track editor(4)
16/23
O!Secour software
Map editor
Track Editor Run
JPEG,GIF,JPG
.OSC .OSP
Real time applicationSpecifications
Real visual heart of the project
Application has to :
• Save runners’ data• Manage chronometer• Display positions/tracks• Display messages from runners• Allow the teacher to send messages to runners
18/23
Real time application Interface details and functionalities
19/23
Real time applicationInterface details and functionalities
20/23
Real time application Interface details and functionalities
Race visualisation :• Race generated by race
editor with its control points
• Runners represented by a colored square and the runner’s name or ERPI
• Tracks followed by runners and the ideal track
• Data saved to a debriefing application
21/23
Real time application Input/Output statements
• An XML file that describes the race• Another XML file giving a description of the map• The map itself as an image file
Inputs
• A new XML file to generate statistics on runners, on their performances, etc.
Outputs
22/23
Means
Previous experiences
Advices Our
knowledge
Brainstorming
Solutions
23/23
Experiences and the Project Mr Le Lagadec’s
presentation
• Global vision• Software• Language used : Tcl-tk
Xavier Le Guillou’s point of view
• Tcl : Scripting language
• Tk extension : Graphical interface
• Coding : Code made by hand(Mr
Le Guillou) Use of a code generator
(student)
Why did they choose to use this scripting language ???24/23
Advices
Advantages : • Tk extension : easy
to use • Tcl : handheld• The “event loop” !
Disadvantages :• Learn a new Language
What are the other characteristics ?
> Research by ourselves
25/23
Our Knowledge
Learned at INSA :
- Java
- Perl Scripting language
- C language
Some researches :
- TCL : Tool Command Language John Ousterhout , 1988 - Interpreters : Tclsh and wish
- Analysed some scripts
26/23
Conclusion : Adopted solution
• Program by ourselves > Educational experience
• Use TCL-TK : It seems to be the best alternative
• Mr. Le Guillou has proposed to teach us the main features of the language
27/23