The Ecole Nationale Superieure des Mines de Douai (Mines Douai ) is a French engineering school, member of the Institut Mines‐Télécom. Institut Mines‐Télécom is composed of 13 engineering schools with nearly 12,000 students, including 1,700 graduate students , and a research contract turnover of € 84 million. Mines Douai is organized into teaching and research departments in various fields of engineering science (for more details, see the website of the school: http://www2.mines‐douai.fr/en). Mines Douai would like to strengthen the Computer Science team by hiring a permanent assistant professor.

Teaching activities :

‐ Provide specialized teaching in his or her field of competence, in particular those related to IT or IA,

‐ Get involved in various educational support activities (supervision of students, creation of new educational resources, admission …).

Research and technology transfer activities :

‐ Conduct research and supervise PhD students and postdocs in: software engineering for robotics or multi-robots systems and robotics fleets coordination (more on http://car.mines-douai.fr)

‐ Develop collaboration with the other members of the department,

‐ Participate to regional, national and international activities (conference organization, workshop, etc.) of his/her field research,

‐ Collaborate with industrial partners and participate in technology transfer,

‐ Participate in the organization of scientific events.

Qualifications required
The position would suit an applicant who holds a PhD in the field of computer science, and who is interested in teaching and research‐oriented industrial applications. A post‐ doctoral experience would be appreciated. The ideal candidate must hold a specialized doctorate degree with skills in software engineering, autonomous systems, multi‐agent systems.
He/She should be a good team player and communicator, and have demonstrated international orientation. He/She should have the necessary linguistic and cultural skills to develop international cooperation in both research and teaching.

The candidate must have proven experience setting up and managing research projects. He or she should also
provide references showing an ability to teach and advise students. ’.

How to apply :
The position is open only to citizens of an EU member country. The application form is available upon request from : Danièle CATOUILLARD (Phone : +33 (0)3.27.71.25.36 ‐ daniele.catouillard@mines‐douai.fr ) Ecole des Mines de Douai Human Resources Department 941 Charles Street Bourseul ‐ CS 10838 59508 Douai Cedex ‐ France

Closing date for applications: 23 June 2014

Contact person
Professor Stephane LECOEUCHE ‐ Deputy Head of Department of Computer Science and Automatic Control, Director of the Research Unit IA Tel: +33 (0)3.27.71.24.45 Mail: stephane.lecoeuche@mines‐douai.fr

Xuan Sang Le is a PhD student who has joined our team mid-february. His work is co-supervized by Ecole des Mines and ENSTA is about speed optimization of Smalltalk robotic software by means of FPGAs. The first step is to develop an application fully in Smalltalk and our PhaROS Robotics framework that will serve as a reference for our metrics. The app we have chosen is a simple tracker robot that follows an object of a particular color. Beside being fun, the result shown by the video below is interesting. As we have initially expected we can’t pretend to be real-time. Still, Pharo is capable of fetching an image through wifi, process it and discover the position of the object 650 milliseconds. And this is with non-optimized code. Figures are likely to be better after optimization.

Faisant suite aux différentes précédentes éditions des JNRH et JNCAR, les GT Robotique Humanoïde et Architecture de Contrôle en Robotique (http://www.gdr-robotique.org) et l’Université de Versailles Saint Quentin (Laboratoire LISV) ont le plaisir de vous annoncer la tenue des journées nationales de la robotique humanoïde et des architectures de contrôle des robots les lundi 23 et mardi 24 juin 2014.

Ces journées ont pour objectif de réunir les communautés nationales de la recherche et de l’industrie autour des problématiques de la robotique humanoïde et des architectures de contrôle des robots.
Ces problématiques concernent par exemple la conception mécanique de nouvelles structures anthropomorphes, la modélisation, la commande, ou l’optimisation pour la gestion de la redondance ou la planification de trajectoires.
Pour ce qui est des architectures de contrôle, les préoccupations concernent les logiciels embarqués pour contrôler des robots individuels ou coordonner des systèmes multi-robots. L’intégration logicielle des fonctionnalités du robot est devenu une problématique centrale pour la future industrie de la robotique de service (médicale, d’assistance, industrielle, etc.), amenant à considérer de multiples aspects dont par exemple la montée en abstraction via l’ingénierie dirigée par les modèles et les langages dédiés, les problèmes d’exécution distribuée, la validation et la simulation (e.g. hardware in the loop).
Un deuxième objectif, sera de renforcer les liens entre la communauté des architectures de contrôle en robotique et celle de la robotique humanoïde afin de pouvoir s’enrichir mutuellement des connaissances et résultats réciproques. Cela se traduira notamment par des sessions uniques pour favoriser les échanges entre les deux communautés.

Participation et déroulement de ces journées :
Nous invitons la communauté scientifique à proposer des présentations autour des thèmes précédemment cités. Cette proposition sera faite sous la forme d’un résumé d’une page à soumettre au format pdf à l’adresse suivante :
jnrh-car@lisv.uvsq.fr
Ces présentations seront d’une durée d’environ 30mn avec une place importante accordée aux questions et à la discussion (15mn).
Ces journées débuteront lundi 23 juin à 9h30 et se termineront le mardi 24 juin à 17h.
Agenda des journées :
- Soumission du résumé avant le 09/05/2014
- Programme des journées disponible le 30/05/2014

I am pleased to announce Phratch website.

Thanks to the support of ESUG, it is possible to make visible this wonderful project.

For now, what is available on the site:
- a presentation of Phratch (you can refer to it now)
- installation files, there is a portable version for Windows, Linux, MacOS.
- tutorials
- block documentation: generated from a Phratch image !
- Some elements for Jetstorm (a lot of new articles will come soon)
- a category with news

Now about the versions, I am developing the version 3.0
Why this number ? Why a third version in one year of work ?
It is clear that a lot of work is already done. Each version represents strong changes in the architecture.
- version 1.0 is the port of Scratch + BYOB + Panther in Pharo. It is working but not extendable.
- version 2.0 makes Phratch really extendable. We can develop our own block for everything in Pharo. I also make Phratch more modular with the use of Pragmas for some menus, declaration of blocks… It is available only in Pharo 3.0. There are some languages available, I hope more people can translate in other languages.
- version 3.0 is the version in development. What is new here: Before this version Phratch was really slow. I am cleaning the code, and now it begins to be fast, really fast ! We also begun to write tests.

I am really happy to have the support of ESUG and Pharo.
Thanks to the community to make Pharo as usable as it it, it makes our dreams possible.

This was our first session on Phratch. The main goal of this course is to program the Lego Minstorm Ev3. The course is a sequence of 6 sessions.

In this first session, we were interested only on the software part: the students learned how to use Phratch, how to use blocks, variables, how to make a block…

The goal for them was to build the famous game: a Pong-like !

We also addressed an interesting point in software engineering: how to report a bug. Yes, you know that Phratch is in development and the current version is instable. So the idea for the students is: when they found a problem, there had to reproduce it at least one time and only afterthey reproduced it they call the teacher. The teacher validate the bug, then the student had to write a small bug report on a post-it and paste it on the white board.

Why a post-it ? It is small, and make the student thinking about what is important to write. It allows them to develop the deductive reasoning skill.

Phratch is clearly more stable that I expected. Now, we need to make it faster !
Let’s go for Phratch3.0.

More photos here.

Agile methods are now used in a large number of companies specialized in IT, including IT services. These agile methods are taught often in a specific course containing a part with theory  and a practical part.

The problematic is the following: we say that agile methods are effective and provide a better project management. Why we , teachers, are not using the agile gaits out of this specific course?

The project has two goals : firstly teaching agile methods transversally to the main courses . On the other hand, it is set to make the course more flexible and adapted to students. The result is a fragmented learning, so students are better able to assimilate knowledge.

The gait is as follows: The students have an access to a pdf document of the course. They have to read it. A 4 hours session goes as follows: Each student (or binomial) has a task-board on which it will add tasks (written on post-it). This task-board comes from the SCRUM agile method. When he finish a task, he updates his task board . The task board is particularly important for the teacher : it allows him to see the progress of students in their work, in the same manner as for the management of an IT project.

One of the tasks is reading course. This needs to create a synthetic and readable pdf. The students are invited to read the document for 30 to 45 minutes depending on the difficulty . Then the teacher organizes a session of oral course of 20 minutes, just explaining the main elements to start the work. Other tasks are the completion of the User Stories of the project.

To apply this method, we add different tools (for example: board planning, the pomodoro and equivalent stand-up meeting in writing) that can be visible in the photos.

Teacher Task Board

 

Student Task Board

 

Pomodoro Timer

As i already shout in the FOSDEM 2014 slides post, i have presented PhaROS in the last edition of FOSDEM, under the title of PhaROS: Towards Live Environments in Robotics.

I bring now to you this video taken during the presentation. I wish you to enjoy it!

Sorry if my hair is disheveled :), i am not very photogenic.

http://mirror.as35701.net/video.fosdem.org/2014/K4401/Saturday/PhaROS.webm

 

Enjoy it!

 

 

PhaROS tool has the mission of installing and creating packages into a ROS installation.

For doing this we have several commands, from installing and creating to administrating repositories, so you can manage your own packages and creating templates without major problems.

Install PhaROS tool

We are working for having this package in Ubuntu and ROS repositories, but meanwhile you can download it from here: pharos-deb

Once downloaded just execute

sudo dpkg -i pharos.deb

pharos –help

 

Install PhaROS based Package

pharos install PACKAGE [OPTIONS]

Example

pharos install esug –location=/home/user/ros/workspace –version=2.0

Help

pharos install –help

 Create PhaROS based Package

pharos create PACKAGE [OPTIONS]

Example

pharos create –location=/home/user/ros/workspace –version=2.0 –author=YourName –author-email=YourEmail

Tip: Be sure the email is a correct one. If is not a correctly spelled one you will notice during last step.
Help
pharos create –help

Register Repository of packages

pharos register-repository –url=anUrl –package=aPackage [ OPTIONS ]

Example

pharos register-repository –url=http://smalltalkhub.com/mc/user/YourProject/main –package=YourProjectDirectory –directory=YourProjectDirectory

Tip: If your repository requires user/password for reading add –user=User –password=Password to the example.
Disclaimer: User/Password will be stored in a text file without any security.
Help

pharos register-repository –help

Listing registered repositories

pharos list-repositories

Creating a directory for your own project repository

pharos create-repository PACKAGENAME [ OPTIONS ]

Example

pharos create-repository example –user=UserName > directory.st
pharos create-repository example –user=UserName  –output= directory.st

Help

pharos create-repository –help

 

 

 

We are now really glad to present an enhanced way to deal with PhaROS.

Since we want to keep with the ROS community spirit of collaborative development for robotics, we introduce now our own command for managing packages made in PhaROS.

This command is mean to install existing packages and create new packages with cool snippets and examples for going faster through the learning time.

PhaROS tool is made completely in Pharo smalltalk and it allows to deploy an existent package into a pharo 1.4/2.0/3.0 in any distribution of ROS that uses catkin package. It automatize the generation xml, makefiles, type and scripts creation, going on the direction of letting the pharo programmer to focus just in programming and not in infrastructure stuff.

For Installing and Using please check this post: using-pharos-tool

 

 

 

 

 

 

CodeJam is a programming contest. It includes a lot of problems.
For each problems, 2 data sets are provided: a small one and a large one. It is really interesting to learn programming.
You can try a solution on the small data set and also send it to the CodeJam web site to know if it is correct and then try on the larger data set.

CJSover is a framework written in Pharo to easily implement algorithms to solve CodeJam problems.
It simplifies data file reading and writing. I also implemented some (really naïve and non-optimized ;-)) solutions to some problems.
And for those “solved” problems, I commit here the correct solution to then be able to run automated tests that re-run them.

HOW TO USE

$ git clone https://github.com/LucFabresse/CJSolver.git CJSolver.git
$ cd CJSolver.git
$ sh newImage.sh                # this will download the Pharo VM + Pharo image + load the CJSolver code
$ ./pharo-ui cjsolver.image

I did this small framework because:
- I want that students learn Pharo,
- I want that students participate to some programming contests using Pharo,
- I want to show students that YES, we can also implement these problems in Pharo

Please, checkout the code,
optimize already implemented solutions,
or implement solution to new problems,
and have fun ;-)