Looking for ros Keywords? Try Ask4Keywords

rosEmpezando con ros


Observaciones

El Sistema Operativo Robótico (ROS) es un software de robótica Middleware para el desarrollo de software de robots que proporciona funcionalidades similares a las de un sistema operativo en agrupaciones y plataformas informáticas heterogéneas.

Iniciado originalmente en 2007 por el Laboratorio de Inteligencia Artificial de Stanford en el soporte de Stanford AI Robot STAIR, el desarrollo, de 2008 a 2013, migró para realizarse en Willow Garage, un instituto de investigación en robótica. En 2013, ROS administró la transición a la Open Source Robotics Foundation.

ROS proporciona bibliotecas y herramientas para ayudar a los desarrolladores de software a crear aplicaciones de robot. Proporciona abstracción de hardware, controladores de dispositivo, bibliotecas, visualizadores, paso de mensajes, administración de paquetes y más. ROS está bajo una licencia de código abierto, BSD.

Hoy, ROS integra más de un centenar de robots ( consulte la lista completa de robots ), desde autos autónomos hasta vehículos aéreos no tripulados (UAV) y robots humanoides, y utiliza una multitud de sensores compatibles con ROS ( consulte la lista completa de sensores ) ... ROS es muy utilizado por Comunidad de investigación para aplicaciones de robótica de servicio, pero su tecnología se puede aplicar a otras áreas de aplicación, incluida la robótica industrial. Sus aplicaciones como la percepción avanzada, la planificación de la trayectoria / comprensión, el seguimiento del movimiento pueden permitir la fabricación de aplicaciones robóticas que antes no eran técnicamente factibles o tenían un costo prohibitivo.

ROS actualmente solo se ejecuta en plataformas basadas en Unix. El software para ROS se prueba principalmente en sistemas Ubuntu y Mac OS X, aunque la comunidad ROS ha estado contribuyendo con el soporte para Fedora, Gentoo, Arch Linux y otras plataformas Linux. Eventualmente, la codificación ROS se puede escribir en cualquier lenguaje de programación siempre que tenga su biblioteca cliente , sin embargo, el enfoque actual es proporcionar un soporte sólido de C ++ y Python.

ROS presenta hoy su décima versión de ROS Kinetic .

Para obtener más información sobre los esfuerzos de la comunidad ROS y ROS, visite http://www.ros.org/

Versiones

Ros Distro Versiones de Ubuntu soportadas Fecha de lanzamiento
Kame cinético 15.10, 16.04 2016-05-23
Tortuga de jade 14.04, 14.10, 15.04 2015-05-23
Índigo Igloo 13,10, 14,04 2014-07-22
Hidro medusa 12.04, 12.10, 13.04 2013-09-04
Groovy Galapagos 11.10, 12.04, 12.10 2012-12-31
Tortuga Fuerte 10.04, 11.10, 12.04 2012-04-23
Emys electricos 10.04, 10.10, 11.04, 11.10 2011-08-30
Diamondback 10.04, 10.10, 11.04 2011-03-02
Tortuga c 9.04, 9.10, 10.04, 10.10 2010-08-02
Tortuga de caja 8.04 2010-03-02

Hola World Publisher

Crear un espacio de trabajo

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

Construye tu espacio de trabajo

cd ~/catkin_ws/
catkin_make
 

Fuente de su archivo de configuración

source devel/setup.bash
 

Cree un nuevo paquete llamado hello_world con algunas dependencias básicas

catkin_create_pkg hello_world std_msgs rospy roscpp
 

Navegue a su directorio src y cree un nuevo archivo llamado talker.cpp

cd hello_world/src
touch talker.cpp
 

Edite su nuevo archivo y pegue este código para publicar un mensaje de "hola mundo"

#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;
}
 

Volver a la raíz de su directorio de paquetes

cd ..
 

Agregue / descomente estas líneas a su 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)
 

Regresa a la raíz de tu espacio de trabajo.

cd ..
 

Construye tu nuevo editor

catkin_make  
 

Fuente su archivo de configuración de nuevo para que tenga el nuevo paquete y el editor

source devel/setup.bash
 

Iniciar ros

roscore
 

Deje Roscore en ejecución y en una nueva pestaña / ventana de terminal, inicie su editor

rosrun hello_world talker
 

Deje el editor en ejecución y en OTRA nueva pestaña / ventana de terminal, haga eco de la salida

rostopic echo /chatter
 

Instalación

Dependiendo de su máquina de destino, debe elegir una versión de ROS compatible (o viceversa). Aunque la instalación de ROS está bien documentada en la wiki de ROS, puede ser confuso encontrarlos. Entonces, aquí hay una tabla de la versión de ROS, las plataformas y la arquitectura de destino y los enlaces para las guías de instalación apropiadas:

Versión ROS Plataforma Arco Estado Instalar guía de enlace
Cinético Ubuntu 16.04 (Xenial) amd64 / i386 / armhf Soportado Guía cinética-xenial
Ubuntu 15.10 (astuto) amd64 / i386 Soportado Guía cinética-astuta
Debian 8 (Jessie) amd64 / arm64 Soportado Cinética-Jessie-guía
OS X (Homebrew) - Experimental Cinética-Homebrew-guía
Gentoo - Experimental Cinética-gentoo-guía
OpenEmbedded / Yocto - Experimental Cinética-yocto-guía

Trabajo en progreso...!