ROS
Configuration initiale
Si ROS n'est pas installé sur votre machine, installez-le. Ne commencez pas tout de suite les tutorials, lisez ce qui suit.
Nous vous proposons cette méthode pour créer un espace de travail ros. Celle qui est proposée dans le premier tuto de ros est plus native, mais nous profiterons d'un outils plus avancé, les "catkin tools". Si besoin, pour les installer :
sudo apt install python-catkin-tools
Création d'un workspace
Un workspace est un dossier dans lequel on mettra tout notre travail sous ros. Il rassemble des projets, et de quoi les compiler facilement et en harmonie avec l'ensemble des packages ROS (via l'outil catkin justement). Créons ce dossier à la racine (par exemple), avec d'emblée un sous dossier src. Nous appellerons notre workspace ros-ws ici, mais vous pouvez l'appeler autrement et le mettre ailleurs.
cd ~
mkdir -p ros-ws/src
cd ros-ws/src
	
Dans ce dossier src, on mettra un sous-dossier par module, et notre workspace visera à compiler les modules que nous concevrons. Pour l'instant, ramenez un module depuis des sources extérieures, sans chercher à comprendre comment il est fait. Nous souhaitons simplement le compiler avec catkin.
git clone https://github.com/HerveFrezza-Buet/demo-teleop.git
ls
cd ..
	
Compilation
Pour que ros "marche bien", il faut que l'interpréteur de commande sache avec quelle version de ros on veut travailler. Elles sont installées dans /opt/ros. Disons ici que l'on souhaite travailler avec la version indigo (adaptez les instructions qui suivent à votre version). Pour que bash (l'interpréteur de commande) sache trouver toutes les commandes ros, il faut positionner les variables d'environnement idoines. C'est très simple :
source /opt/ros/indigo/setup.bash
	
Voilà, maintant, vous travaillez, dans ce terminal, avec la version indigo de ROS. Nous pouvons alors compiler notre workspace.
cd ~/ros-ws
catkin build
	
Et voilà. Tapez
ls
	
pour constater que catkin a crée plusieurs sous-dossiers, avec des résultats de compilation dedans. Mais le sous-dossier src, qui contient ce que vous, vous écrivez, est intact. La documentation des catkin tools vous dira tout ce que vous pouvez faire avec ces outils.
Exécution
Nous n'allons rien écrire nous-mêmes dans l'immédiat, ce sera l'objet des tutos. En revanche, pour exécuter des choses, le terminal a besoin de savoir sous quelle version on est, et quel est le workspace concerné (eh oui, on peut avoir plusieurs workspaces). C'est encore une affaire de positionnement de variables d'environnement. Comme la commande "catkin build" que nous avions lancée dans notre workspace savait, elle, sous quelle version de ros on a compilé le workspace, elle a pu nous construire un fichier à "sourcer" qui dit qu'on est sous ros version indigo et qu'on utilise ros-ws pour travailler. Chaque fois qu'on démarre un nouveau terminal pour travailler sous ros, il faut donc taper simplement ce qui suit pour configurer complètement l'interpréteur de commandes.
source ~/ros-ws/devel/setup.bash
	
Certains préféreront, pour que ceci soit fait automatiquement, ajouter ce "sourçage" dans leur fichier ~/.bashrc, en ajoutant les lignes
# ROS workspace configuration
source $HOME/ros-ws/devel/setup.bash
	
Les tutos de ROS
Il faudra aussi faire ces tutos de ROS (commencer en cours et finir à la maison). Attention, nous travaillerons avec catkin, et donc surtout pas rosbuild. De même, on regardera les tutos python de préférence, pas les tutos C++. En priorité, abordez les sujets suivants : Une fois que vous avez bien compris le principe, vous pouvez ne faire que lire les tutos, afin de savoir ce que propose ROS, et savoir que le tuto existe pour vous y reporter en cas de besoin.