Start the ROS stage simulation with a MATLAB/Simulink project

This guide is about how to get the ROS stage simulation going combined with our current MATLAB/Simulink project. As usual terminal commands are printed blue.

Note: This guide is not about how MATLAB and ROS stage do communicate with each other. It’s a manual for team member.

Step 1:

Source the “setup.bash” in the “floribot_ws/devel/” directory and execute the launch script “launch_stage1.sh” in the “floribot_ws/src/” directory. The roscore and the stage simulation should be started automatically.

source floribot_ws/devel/setup.bash

./floribot_ws/src/launch_stage1.sh

Step 2:

Open MATLAB and add all folder and subfolder of the directory “floribot_ws” to the MATLAB path (Add to Path -> Selected Folders and Subfolders). After that open with MATLAB the project “floribot_simulink.prj” that is inside of the “floribot_ws/src/” directory.

Step 3

Now open “simulink/robot1_MIL.slx” and start the rosnode connection with the function “start_rosnode” that is accessible at the “project shortcuts” tab. Otherwise execute “start_rosnode” inside the MATLAB command window.

Step 4

If no error occures, open the subsystem “wiimote” inside the Simulink model “robot1_MIL” and start the simulation with the “Run” button. The robot inside the ROS stage window still does not move. First it has to be set to automatic mode with the switch “button_2″ inside the “wiimote” subsystem. After a simple flip of the switch the only thing the robot still needs is the information where it should turn after the end of the first lane. In order to provide this information simply flip the switch “button_left” for a turn to the left or “button_right” for a turn to the right, after the first lane. With this final flip the robot should start moving inside the ROS stage simulation. If you like to cancel the movement of the robot, just stop the Simulink simulation with the “Stop” button.

Task 1 World

One of the first tasks for the Floribot project is the creation of a new worldmap for the virtual environment ROS stage. The map follows the rules of the Task 1 2013.

You can get a quick overview from the following picture:

The major changes are:

  • Improved load speed (no use of .png files anymore)
  • The floribot now starts at position [0 0]
  • All boarders are now closed
  • Use of “ranger” instead of “laser”

You can launch the world with the following command:

rosrun stage stageros task1_2013.world

Treffen Software-Entwicklung (21.02.2013)

Teilnehmer:
Benedict Bauer, Felix Binder, Henning Walch, Jens Seifried, Michael Gysin, Torsten Heverhagen

  • !!!ROS Fuerte anstatt Groovy!!!
    In Groovy ist kein wiimote-Node vorhanden
  • git:
    Verwendung von GitHub
  • Codegenerierung aus UML erfolgreich
    • UML-Grafiken sind eine wesentliche Verbesserung für die Dokumentation
Nächstes Treffen: Donnerstag, 28.02.2013

Installation: Eclipse IDE for C/C++ Developers (Juno)

Das entsprechende Software-Paket (Eclipse IDE for C/C++ Developers) ist unter http://www.eclipse.org/downloads/ herunterzuladen.

Wenn der Download beendet ist, muss ein Terminal geöffnet werden. Dies erreicht man am einfachsten mit der Tastenkombination STRG + ALT + T. Dem Code, der im Terminal ausgeführt werden soll, ist ein $-Zeichen vorangestellt, welches nicht übernommen werden darf.

Als erstes muss man in das Downloadverzeichnis wechseln. Dies erreicht man durch die Eingabe:
$ cd ~/Downloads

Jetzt kann das Paket entpackt werden:
$ tar xzf eclipse-cpp-juno-SR1-linux-gtk.tar.gz

Fall Sie eine x64-Version installieren wollen, müssen Sie eclipse-cpp-juno-SR1-linux-gtk.tar.gz mit eclipse-cpp-juno-SR1-linux-gtk-x86_64.tar.gz ersetzen.

Nach dem Entpacken sollte der entstandene Ordner in das Verzeichnis /opt verschoben werden:
$ sudo mv eclipse /opt/eclipse

Nun wechselt man selbst in dieses Verzeichnis:
$ cd /opt

Jetzt müssen die Besitzer und die Gruppenzugehörigkeit sowie die Zugriffsrechte von  eclipse angepasst werden:
$ sudo chown -R root:root eclipse
$ sudo chmod -R +r eclipse
$ sudo chmod +x `sudo find eclipse -type d`

Um Eclipse einfacher zu starten, kann ein Start-Skript geschrieben werden:
$ sudo touch /usr/bin/eclipse
$ sudo chmod 755 /usr/bin/eclipse
$ sudo gedit /usr/bin/eclipse

Falls gedit nicht in Ihrer Desktop-Umgebung installiert ist, benutzen Sie einen entsprechenden Editor.

Der Inhalt der Datei lautet:

#!/bin/bash
export MOZILLA_FIVE_HOME=”/usr/lib/firefox/”
export ECLIPSE_HOME=”/opt/eclipse”
export LC_MESSAGES=en_US.UTF-8
/opt/eclipse/eclipse

Zum Schluss kann noch ein Starter erstellt werden:
$ sudo gedit /usr/share/applications/eclipse.desktop

Der Inhalt dieser Datei lautet:
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=bash -i -c "eclipse"
Icon=/opt/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true

Um das Setup von eclipse zu initialisieren sollte man noch
$ /opt/eclipse/eclipse -clean
ausführen.

Treffen Software-Entwicklung (14.02.2013)

Teilnehmer:
Benedict Bauer, Felix Binder, Felix Herrmann, Henning Walch, Jens Seifried, Michael Gysin, Torsten Heverhagen

  • Git:
    baseline.hs-heilbronn.de
    Field Robot Event
    Kennung: t1-field-robot-event
  • Eclipse-Workspace liegt auf eigenem Benutzer, Projekte liegen allerdings im ros_workspace auf dem Homeverzeichnis des Nutzers Floribot
  • die alten ROS-Buildkommandos werden weiter verwendet (rosbuild)
  • Vorstellung der ROS-Simulationstools stage und RViz
  • Vorstellung der Houghtransformation
Nächstes Treffen Donnerstag, 21.02.2013, 15:00 Uhr

Erstes Treffen Software-Entwicklung

Teilnehmer:
Benedict Bauer, Felix Herrmann, Michael Gysin, Torsten Heverhagen

Beschlüsse:

  • Verwendetes Betriebssystem des Roboters: Xubuntu 12.04 (auf den Notebooks kann auch Ubuntu 12.04 verwendet werden)
  • bis zum nächsten Termin soll ROS Groovy Galapagos von den Teilnehmern untersucht werden
  • Verwendete IDE: Eclipse Juno für C/C++ Entwickler
  • ROS Namenskonventionen einhalten (ROS_format.xml)
  • GIT als Repository
Nächstes Treffen 14.02.2013 15:00 Uhr