[Documentation] [TitleIndex] [WordIndex

Instalando desde código fuente

La instalacion desde código fuente requiere que se descargue y compile el archivo fuente por su cuenta. ROS Kinetic soporta Ubuntu Wily y Xenial. Otras plataformas son factibles de usar con algunoso ajustes. Las plataformas base están definidas en REP 3

Prerequisitos

Instalando las dependencias bootstrap

Instalar las dependencias bootstrap (Ubuntu):

Estas herramientas entre otras cosas son usadas para facilitar la descarga y manejo de los paquetes ROS y sus dependencias.

Ubuntu o Debian:

Fedora:

Generico (pip):

Si estas usando un sistema no-Debian y te deberias asegurar que todas las herramientas de compilacion (compiler, CMake, etc.) esten instaladas. Puedes instalar todas las herramientas ROS Python tools via PIP:

Iniciando rosdep

$ sudo rosdep init
$ rosdep update

Instalación

Empezar por compilar los paquetes ROS core.

Compilando los paquetes catkin

ROS esta en el proceso de conversión al sistema de compilado de catkin, pero no todos sus paquetes han sido implementados y lamentablemente no se pueden usar los dos sistemas de forma simultánea. Por lo tanto es necesario compilar el paquete ROS core primero y despues el resto de los paquetes.

Creación del espacio de trabajo catkin Workspace

En orden para compilar los paquetes core se necesita un espacio de trabajo catkin. Por lo tanto creemos uno mediante:

A continuacion necesitaremos inicializar los paquetes core para poder complilarnos. Usaremos el comando wstool para la particular variante que queremos instalar:

Desktop-Full Install: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

Desktop Install (recommended): ROS, rqt, rviz, and robot-generic libraries

ROS-Comm: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.

Esto agregara todos los paquetes catkin o wet en la variante indicada y conducirá las fuentes en el directorio ~/ros_catkin_ws/src. El comando se tomará algunos minutos en descargar todos los paquetes ROS en la carpeta src. La opción -j8 option descarga ocho paquetes en paralelo.

De forma adicional a las tres variantes detalladas con anterioridad, en REP 131 encontrará algunas como robot, perception, etc. Solo cambie la ruta al paquete por la que usted desee, por ejemplo para robot haga:

$ rosinstall_generator robot --rosdistro kinetic --deps --wet-only --tar > kinetic-robot-wet.rosinstall
$ wstool init -j8 src kinetic-robot-wet.rosinstall

Si wstool init falla o se interrumple, Usted puede contunuar la descarga por medio de:

wstool update -j 4 -t src

Resolviendo Dependencias

Antes de complilar su espacio de trabajo catkin workspace, Usted deberia asegurarse que tienen todo las dependencias instaladas usando rosdep tool para esto de la siguiente forma:

Esto buscará todos los paquetes en el directorio src y todas las dependencias de estos. Después instalará todas las dependencias de forma recursiva.

La opción --from-paths indica que queremos instalar las dependencias para un directorio entero de un paquete, en este caso src. La opción --ignore-src le indica a rosdep que no debe tratar de instalar ningún paquete ROS en la carpeta src desde el manejador de paquetes, no lo necesitamos porque lo estamos compilando por nuestra parte. La opción --rosdistro es requerida porque no tenemos un ambiente ros configurado, entonces debemos indicar a rosdep cual es la version de ROS para la cual estamos compilando. Finalmente la opción -y le indica a rosdep que no queremos que nos moleste con preguntas del manejador de paquetes y que le meta para adelante.

Después de un rato y algunos pedidos de contraseña, rosdep terminará instalando las dependencias del sistema y podremos continuar.

Construyendo el espacio de trabajo catkin

Una vez terminada la descargad de los paquetes y resueltas las dependencias estamos listos para construir los paquetes catkin. Usaremos el comando catkin_make_isolated porque en la instalación base hay paquetes planos catkin y cmake; pero posteriormente cuando se desarrolle en su espacio catkin se debe de usar catkin/commands/catkin_make.

Invocar catkin_make_isolated:

Nota: Si se desea seleccionar un tipo de CMake distinto como RelWithDebInfo o Debug, vea http://cmake.org/cmake/help/v2.8.12/cmake.html#variable:CMAKE_BUILD_TYPE).

Nota: La locación por defecto de la instalación de catkin installation será ~/ros_catkin_ws/install_isolated, Si se desea instalar en un lugar distinto entonces deberá adicionar el argumento--install-space /opt/ros/kinetic a su sentencia catkin_make_isolated.

Para uso en un robot sin Ubuntu se recomienda instalar el código compilado en /opt/ros/kinetic como lo harían los paquetes de Ubuntu. No haga esto en Ubuntu pues el paquete colisionará con los paquetes de apt-get. Tambien es posible instalar en otros lugares, por ejemplo /usr; pero no es recomendable salvos que sepa realmente lo que hace o tenga una necesidad real de resolver la situación de esa forma.

Por favor vea REP 122: Filesystem Hierarchy Layout un entendimiento mas profundo de como son ubicados los archivos durante la instalación.

Nota: En el comando anterior corrimos la orden catkin_make_isolated desde la carpeta source del espacio catkin porque no había sido instalada aun, una vez instalada puede ser llamada directamente.

Ahora los paquetes deben haberse instalado en ~/ros_catkin_ws/install_isolated o donde lo hayamos especificado con el argumento --install-space. Si revisas el directorio veras que se genero un archivo setup.bash. Para utilizar las cosas instaladas allí simplemente compila ese archivo. Hagamos esto ahora antes de construir el resto de ROS:

Mantener el Source Checkout

Si queremos mantener nuestro source checkout actualizado, deberemos actualizar de forma periódica nuestro archivo rosinstall, descargar los ultimos archivos fuente y reconstruir nuestro espacio.

Actualización del espacio de trabajo

Para actualizar su espacio de trabajo, primero mueva el archivo rosintall existente para que no se sobreescriba y podamos generar una version actualizada. Para hacer más sencilla la explicación cubriremos la variante *desktop-full*. Para otras variante, actualice el nombre y los argumentos rosinstall_generator de forma apropiada.

$ mv -i kinetic-desktop-full-wet.rosinstall kinetic-desktop-full-wet.rosinstall.old
$ rosinstall_generator desktop_full --rosdistro kinetic --deps --wet-only --tar > kinetic-desktop-full-wet.rosinstall

Ahora, compare el nuevo archivo rosinstall file con el viejo y vea que paquetes se actualizarán:

$ diff -u kinetic-desktop-full-wet.rosinstall kinetic-desktop-full-wet.rosinstall.old

Si está satisfecho con estos cambios incorpore el nuevo archivo rosinstall en su espacio de trabajo y actualice el mismo:

$ wstool merge -t src kinetic-desktop-full-wet.rosinstall
$ wstool update -t src

Reconstruir su espacio de trabajo

Ahora que su espacio de trabajo se encuentra actualizado con los últimos archivos deberá reconstruirlo mediante:

$ ./src/catkin/bin/catkin_make_isolated --install

Si se especifico la opción de --install-space en la inicializacion de su espacion de trabajo, igualmente deberá especificarlo cuando lo recontruya

Una vez que el espacio de trabajo se a reconstituido, hay que compilar nuevamente los archivos de configuración con:

$ source ~/ros_catkin_ws/install_isolated/setup.bash

2024-12-07 14:46