Conceptos básicos de ROS (dos): crear un espacio de trabajo y un paquete de funciones

Conceptos básicos de ROS (dos): crear un espacio de trabajo y un paquete de funciones


El método principal de utilizar ROS para realizar el desarrollo de robots es escribir código, y estos archivos de código deben colocarse en un espacio fijo, es decir, el espacio de trabajo.

1. ¿Qué es un espacio de trabajo?

Workspace (espacio de trabajo) es una carpeta para almacenar archivos relacionados con el desarrollo del proyecto. El ROS posterior a la versión Fuerte usa el sistema de compilación Catkin por defecto La estructura del espacio de trabajo bajo un sistema de compilación típico de Catkin es la siguiente.
Un espacio de trabajo típico generalmente incluye los siguientes cuatro espacios de directorio.
1) src: Source Space, la carpeta más utilizada en el proceso de desarrollo, utilizada para almacenar los archivos fuente de todos los paquetes de características ROS.
2) build: Build Space, utilizado para almacenar la información de la caché y los archivos intermedios generados durante la compilación del espacio de trabajo.
3) desarrollo: Espacio de desarrollo, utilizado para colocar archivos ejecutables generados por compilación.
4) install: Install Space. Después de que la compilación sea exitosa, puede usar el comando make install para instalar los archivos ejecutables en el espacio y ejecutar los scripts de variables de entorno en el espacio para ejecutar estos archivos ejecutables en la terminal. El espacio de instalación no es necesario y es posible que esta carpeta no esté disponible en muchos espacios de trabajo.

2. Crea un espacio de trabajo

El comando para crear un espacio de trabajo es relativamente simple. Primero, use el comando del sistema para crear el directorio del espacio de trabajo y luego ejecute el comando de inicialización del espacio de trabajo ROS para completar el proceso de creación:

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

Una vez completada la creación, puede utilizar el comando catkin_make en el directorio raíz del espacio de trabajo para compilar todo el espacio de trabajo:

cd ~/catkin_ws/
catkin_make

Durante el proceso de compilación, dos carpetas, build y devel, y sus archivos se generarán automáticamente en el directorio raíz del espacio de trabajo. Una vez completada la compilación, se han generado varios scripts de configuración de variables de entorno en forma de setup. * Sh en la carpeta devel. Utilice el comando de origen para ejecutar estos archivos de secuencia de comandos, luego las variables de entorno en el espacio de trabajo pueden tener efecto.

source devel/setup.bash

Para asegurarse de que las variables de entorno hayan surtido efecto, puede usar el siguiente comando para verificar:

echo $ROS_PACKAGE_PATH

Si la ruta impresa ya contiene la ruta del espacio de trabajo actual, significa que la variable de entorno se estableció correctamente.

3. Cree un paquete de funciones

La forma del paquete de funciones en ROS es la siguiente:

my_package/
    CMakeLists.txt
    package.xml
    ......

El archivo package.xml proporciona metainformación del paquete de funciones, es decir, información que describe los atributos del paquete de funciones. El archivo CMakeLists.txt registra las reglas de compilación del paquete de funciones.
ROS proporciona el comando catkin_create_pkg para crear directamente un paquete de funciones. El uso de este comando es el siguiente:

catkin_create_pkg <package_name> [depend1] [depend2] [depend3]

Al ejecutar el comando catkin_create_pkg, el usuario debe ingresar el nombre del paquete de funciones (nombre_paquete) y los nombres de otros paquetes de funciones de los que depende (depende1, depende2, depende3). Por ejemplo, necesitamos crear un paquete de funciones learning_communication, que depende de std_msgs, roscpp, rospy y otros paquetes de funciones.
Primero ingrese el espacio de código y use el comando catkin_create_pkg para crear un paquete de funciones:

cd ~/catkin_ws/src
catkin_create_pkg learning_communication std_msgs rospy roscpp

Una vez completada la creación, se generará un paquete de funciones learning_communication en el espacio de código src, que ya contiene los archivos package.xml y CMakeLists.txt.
Luego regrese al directorio raíz del espacio de trabajo para compilar y configurar las variables de entorno:

cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash

Supongo que te gusta

Origin blog.csdn.net/weixin_45661757/article/details/112746482
Recomendado
Clasificación