As it is presented in the previous page there is a need to implement the life cycle in the actual existing tools provided to the different types of users. The following picture details them.
Before entering in the niceties of the tools and life cycle, here follows two short stories to illustrate what is the meaning between all these beautiful words and wishes.
Richard is now in his second year of his PhD thesis which subject is an advanced servoing algorithm merging Radar and visual data to offer a proved and reliable localisation system in a urban environment. Unhappily, in his own testing environment he is unable to show flexibility of his methodology and associated implementation (urban car in some not very dense area). He goes to portal and shuffles through the proposed problems. Three are attracting his attention:
Richard won’t be able to address each problem in his PhD time frame thus he needs more information than those proposed in the public part of these problems. Thus, as he already had an account on the portal, he send the needed forms as provided by the three problem’s providers in order to access them completely. He is now able to download a complete description and most importantly, their models. Shuffling through the three of them, he identified very soon that unhappily it would be very difficult to adapt the aircraft system model to integrate his algorithm proposal. On the contrary, Work onto the car system seems really easy and with work, adaptation to humanoïd is possible.
Considering the first case, Richard now download the latest version of the RobotML platform and opens the car problem. He can directly identify the component that would host his algorithm. Interface is almost the same but not exactly. Deciding not to optimise code, he introduces in the model a type translation component that adapts inputs to his algorithm needs. Then as there is no need on the output, he generates thanks to the platform using generator provided by the car problem provider a new simulator that includes his algorithm. As it is he is now able to run tests and stores the data using the already defined probes and creating the metrics as defined in the problem description. Now using the criteria, he sees that he improves not so marginally localisation accuracy allowing the car to use less large roads. At this step he requests the portal responsible permission to open a solution page for him to record his results and do it. He publishes his achievements in th eproper review and goes on developing the theory associated with the algorithm using the insights gained thanks to the experimentation.
Considering the second case, due to his Thesis work, Richard postpones the integration to future times. Three months before delivering his text to reviewers and willing to ease his mind he goes back to his idea to test the algorithm onto humanoïd. He again asks for permission to use the problem as his lease was time suspended. Again he obtained this permission from the problem provider and using his existing version of the platform opens the model in order to better understand the robot system. It really has to be adapted to accept his algorithm as the EM sensors are not providing the same type of information as those he waited for; Moreover, synchronisation needed between the two types of sensors is not at all the same. Richard adapts the model many times discussing with the problem provider in order to understand what some parts of the architecture are meaning. After some efforts and adaptations at the limit of the system capability he is able to generate the complete robot application. Doing the same job as previously he is able to issue results to oppose to the criteria defined and there he sees the limits of the algorithm tested. Discussing with the provider he sees a complete new way to understand the theory leading to a major update of the software. There again Richard opens a :term:`solution`space and uploads his solution.
At this step, he considers that it could be a good idea to provide this code to the community and asks for opening a module provider space. When opened, he related this module to the two solutions developed and provide the model of the interface to be used inside the platform to be able to insert the algorithm in any other problem. Eventually he also provieds the source code through a packaged file and a C library on x86 architecture.
It’s time now to present his final results in front of his PhD Jury. All goes smoothly but during the questions time, in the audience, someone requests some specific explanations onto the determinism of the solution and if it could be embedded in some limited memory architecture. Answering positively, Richard is surprised after the Jury felicited him to be proposed a job from the questioner in order to come in the car company that provided the problem.
These two stories are happy ones for sure and shows the type of impact that can be achieved if Robotic community agrees to use such a portal and its associated tools.
This portal is the first supporting tool and a very important one. In fact it is the place where everything can be exchanged, worked between providers and users. It manages the access, provides the different needed spaces, SVN services, implements the life cycle.
This tool is not usable in itself as it is the definition of the language that is implemented in the tool to come. Nevertheless, the definition of this language is not to be confused with its implementation through any tool. Anybody able to answer this definition can provide model (either problem or solution).
term: |
---|