Démarrer avec ros

Installation

** Selon votre machine cible, vous devez choisir une version ROS prise en charge (ou vice-versa). ** Bien que l’installation de ROS soit bien documentée dans le wiki ROS, il peut être difficile de les trouver. Voici donc un tableau de la version ROS, des plates-formes et de l’architecture cibles et les liens vers les guides d’installation appropriés :

Version ROS Plate-forme Arch État Lien vers le guide d’installation
Cinétique Ubuntu 16.04 (Xénial) amd64 / i386 / armhf Pris en charge [Kinetic-Xenial-guide][1]
Ubuntu 15.10 (Wily) amd64 / i386 Pris en charge [Kinetic-Wily-guide][1]
Debian 8 (Jessie) amd64 / arm64 Pris en charge [Kinetic-Jessie-guide][2]
OS X (Homebrew) Expérimental [Kinetic-Homebrew-guide][3]
Gentoo Expérimental [Kinetic-Gentoo-guide][4]
OpenEmbedded/Yocto Expérimental [Kinetic-Yocto-guide][5]

Travaux en cours…!

[1] : http://wiki.ros.org/kinetic/Installation/Ubuntu [2] : http://wiki.ros.org/kinetic/Installation/Debian [3] : http://wiki.ros.org/kinetic/Installation/OSX/Homebrew/Source [4] : http://wiki.ros.org/kinetic/Installation/Gentoo [5] : http://wiki.ros.org/hydro/Installation/OpenEmbedded

Bonjour l’éditeur du monde

Créer un espace de travail

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace

Construisez votre espace de travail

cd ~/catkin_ws/
catkin_make

Sourcez votre fichier d’installation

source devel/setup.bash

Créez un nouveau package nommé hello_world avec quelques dépendances de base

catkin_create_pkg hello_world std_msgs rospy roscpp

Accédez à votre répertoire src et créez un nouveau fichier appelé talker.cpp

cd hello_world/src
touch talker.cpp

Modifiez votre nouveau fichier et collez ce code pour publier un message “hello world”

#include "ros/ros.h"
#include "std_msgs/String.h"

#include <sstream>

int main(int argc, char **argv)
{
  ros::init(argc, argv, "talker");

  ros::NodeHandle n;

  ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000);

  ros::Rate loop_rate(10);

  int count = 0;
  while (ros::ok())
  {
    std_msgs::String msg;

    std::stringstream ss;
    ss << "hello world " << count;
    msg.data = ss.str();

    ROS_INFO("%s", msg.data.c_str());

    chatter_pub.publish(msg);

    ros::spinOnce();

    loop_rate.sleep();
    ++count;
  }

  return 0;
}

Retournez à la racine de votre répertoire de packages

cd ..

Ajoutez/décommentez ces lignes à votre CMakeLists.txt

catkin_package(
 INCLUDE_DIRS include
 LIBRARIES hello_world
#  CATKIN_DEPENDS roscpp rospy std_msgs
#  DEPENDS system_lib
)

include_directories(include ${catkin_INCLUDE_DIRS})

add_executable(talker src/talker.cpp)
target_link_libraries(talker ${catkin_LIBRARIES})
add_dependencies(talker hello_world_generate_messages_cpp)

Retour à la racine de votre espace de travail

cd ..

Créez votre nouvel éditeur

catkin_make  

Sourcez à nouveau votre fichier d’installation afin d’avoir le nouveau package et l’éditeur

source devel/setup.bash

Démarrer ROS

roscore

Laissez roscore en cours d’exécution et dans un nouvel onglet/fenêtre de terminal, démarrez votre éditeur

rosrun hello_world talker

Laissez l’éditeur en cours d’exécution et dans UN AUTRE nouvel onglet/fenêtre de terminal, faites écho à la sortie

rostopic echo /chatter