Aplicación ROS2
Configuración del sistema: ubuntu22.04
Versión ROS2: humble
Configuración del entorno ROS2
- Actualizar las fuentes de descarga
PowerShell
sudo apt update- Introducir el comando de descarga de ros2
PowerShell
wget http://fishros.com/install -O fishros && . fishrosConectar el dispositivo a la máquina virtual
- Comprobar el dispositivo
PowerShell
ll /dev/ttyUSB*- Crear el mapeo de puertos
PowerShell
sudo gedit /etc/udev/rules.d/99-serial-imu.rules- Rellenar el contenido del archivo de mapeo
PowerShell
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="imu-serial"- Guardar y salir, ejecutar los comandos para activar las reglas
PowerShell
sudo udevadm triggerPowerShell
sudo service udev reloadPowerShell
sudo service udev restart- Verificar
PowerShell
ll /dev/imu-serialImportar el paquete comprimido preparado
En el mismo directorio que Feishu: IMU_ROS2.zip
Transferir a la máquina virtual con el software de transferencia
Instalar la biblioteca IMU_Library
PowerShell
# Después de descargar y descomprimir el archivo IMU_ROS2, entrar en el directorio IMU_Library y ejecutar setup.py
cd IMU_ROS2/IMU_Library
# Instalar la biblioteca y sus dependencias
pip install -e .
# o instalarlo con setup.py
python setup.py installInstalar bibliotecas Python
PowerShell
sudo pip3 install pyserial
sudo pip3 install smbus2Construir el proyecto ROS2
- Volver al directorio ~/IMU_ROS2
PowerShell
cd IMU_ROS2
colcon build --symlink-install- Añadir el directorio de trabajo ~/IMU_ROS2 a las variables de entorno
PowerShell
# Editar ~/.bashrc
sudo gedit ~/.bashrc
# Escribir los siguientes comandos al final
source ~/IMU_ROS2/install/setup.bashTras compilar correctamente, verificar con el siguiente comando si el paquete imu_ros2 contiene ejecutables ros2 pkg executables imu_ros2
Iniciar el nodo ROS2
PowerShell
source install/setup.bash
ros2 run imu_ros2 imu_publisherImprimir datos IMU
- Abrir un terminal nuevo, ver los topics imu
PowerShell
ros2 topic list- Imprimir datos del topic /imu/data
PowerShell
ros2 topic echo /imu/data- Abrir un terminal nuevo, ver el topic msg
PowerShell
ros2 topic echo /imu/magVisualización RViz2
- Ejecutar el comando para abrir la interfaz rviz
PowerShell
ros2 launch imu_ros2 imu_visualization.launch.pyPreguntas frecuentes
- Si el nodo no arranca, probar estos comandos
PowerShell
# Ejecutar en el directorio ~/IMU_ROS2
source install/setup.bash
# Problema del número de puerto
sudo chmod 666 /dev/imu-serial
