To check the accuracy of the exploration map, we need to compare with a pre-built one.

Of course, the latter needs to have a good accuracy.

We provide here a tool to manually build an environment map in MORSE.

This tool has the following features:

  1. Map building using gmapping ROS package.
  2. Robot with perfect odometry.
  3. Visualize the mapping process using rviz ROS package.

The objective of this tutorial is to be able to create a behaviour for the Robulab described using Live Robot Programming. The LRP program transparently uses PhaROS to communicate with the Robulab.

Let’s do it step by step

  1. Follow the instructions to have Robulab working specified in this tutorial.
  2. Open the image you created on the previous step and download the LRP code1

    Gofer it
        smalltalkhubUser: 'jfabry' project: 'LiveRobotProgramming';
        configuration;
        loadDevelopment
    
  3. Download the code with the example by executing the following snippet on a workspace:

    Gofer new smalltalkhubUser: 'mcamp' 
        project: 'RobotExperiments'; 
        package: 'LrpharosPackage'; 
        load. 
    
  4. Let’s check everything is ok before launching LRP UI:

    • The laptop is connected to UBNT network
    • roscore is running.
    • You have cleaned processes by executing ProcessesCleaner clean.
    • You started the driver node for kompai.
  5. Our example needs a PhaROS node subscribed to /kompai2/pose and another node publishing on /command_velocity, to do so you need to create a instance of LrpharosPackage. Due to the live feature of LRP, it needs to have an unique instance of the package (which contains the nodes).

    LrpharosPackage uniqueInstance 
    
  6. Open the LRP UI by right-clicking the World and selecting ** Live Robot Programming **. It will open a window like this:

    Live Robot Programming UI

  7. Now, copy&paste the following script into the left pane (You can find it also in LrpharosPackage class>>lrpSimple)

    (var robulab := [LrpharosPackage uniqueInstance])
    (var stop := [0])
    (machine simple
        (state forward
            (onentry [robulab value forward: 0.1])
        )
        (state stop
            (onentry [robulab value stop])
        )
        (state finish
            (onentry [robulab value stop])
        )
    
        (on forceStop *-> finish t-finish)
        (event forceStop [stop value = 1])
    
        (ontime 2000 forward -> stop t-f)
        (ontime 1000 stop -> forward t-s)
    )
    

    It should look something like this

    Forward-Stop machine

  8. Now we are almost close to launch the script. Before that you should be aware to have ways to stop it in an emergency case: have a remote joystick or just switch it off.

  9. To trigger it add the following line at the end of the script:

    (spawn simple forward)
    

    Et voilà! The robot will start moving forward and then stop as the two steps.

  10. An alternatively way to stop the robot using the LRP UI is by setting the stop variable to 1 in the ** Variables: ** pane.

    Stop the robot by setting stop variable

  11. After stopping the robot, if you want to re-start it you have to click Reset Int. button in the bottom of the left pane.

Any question? Feel free to ask below.

NOTES

  1. LRP uses Roassal visualization engine for displaying the machines, states and transitions. After LRP is installed, you should run do a few simple steps in order to avoid a small-but-hard-to-solve bug related to fonts. You can fix it in less than 1 minute following the instructions here.

  2. Each time you need to clean the proccesses through ProcessesCleaner clean, the LRP process is terminated. Then you have to close the window after doing it.

  3. Everytime you create a kompai node (through PureROS new scriptKompai1 or scriptKompai2) you should then reset the LRP singleton by executing:

    LrpharosPackage reset.
    

    This way the LrpharosPackage instance will be bound to the correct kompai node.

Slides of my presentation given at ESUG 2014 conference are available online (see below). It’s about Robot software development using the Pharo dynamic language. It includes a quick overview of PhaROS our bridge to the ROS, as well as BoTest our framework for TDD for robotics applications. The video is also available on Youtube (see below) thanks to ESUG student volunteers. Note it is in two parts.

deprecated

cf. https://github.com/CARMinesDouai/pharos/wiki/Install-PhaROS

To install:

  1. Install Ubuntu 14.04 64bits
  2. Install curl
    sudo apt-get install curl
  3. Install ROS Indigo
  4. Install PhaROS
    curl http://car.mines-douai.fr/scripts/PhaROS | bash
  5. Test the installation
    source ~/.bashrc
    pharos create myfirstpharospackage
    rosrun myfirstpharospackage edit
  6. Enjoy!

To uninstall (why would you need that? ;-)):

~/PhaROS-bin/pharos_uninstall

Jetstorm is the library to make Pharo communicate with the Lego Mindstorm Ev3. We provide the technical report. It explains the protocol and the architecture of the library.

If you want to cite it, here is the lines to copy and paste in bibtex:

@techreport{Lava14a,
   Author = {Jannik Laval},
   Institution = {URIA -- Ecole des Mines de Douai},
   Title = {JetStorm - A communication protocol between Pharo and Lego Mindstorms},
   Url = {www.jannik-laval.eu/assets/files/papers/Lava14a-JetStorm.pdf},
   Year = {2014}
}

With the evolution of JetStorm, the Technical Report will be improved.

Cincom is looking for an experienced Smalltalker, a SOFTWARE ENGINEER.
Our new colleague shall strengthen the development team for our document output product Cincom ChannelStream (developed in Smalltalk).

Applications are accepted until the position is filled.
· English: http://documentoutput.cincom.com/software-engineer-cincom-channelstream/
· French: http://documentoutput.cincom.fr/2014/06/opportunite-software-engineer-cincom-channelstream/

Regards
Yvonne

********************************************
Yvonne Schickel
Marketing Manager Cincom ChannelStream
Cincom Systems GmbH & Co. oHG
Tel.: +49 6196 9003-0
E-Mail: yschickel@cincom.com

Le programme de l’édition 2014 aux Journées Nationales de Robotique Humanoïde et Architecture de Contrôle en Robotique (JNRH-CAR) est désormais disponible. Cette année les journées se tiendront à Paris à la cité internationale les 23 et 24 juin.

Les inscriptions en ligne sonts ouvertes. Le prix comprend :

  • L’accès à la conférence
  • Le programme et les résumés des interventions
  • Les pauses café des 23 & 24 Juin 2014
  • Les déjeuners des 23 & 24 Juin 2014
  • Le diner du 23 Juin 2014

 

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