Visualizando la Cámara del celular en ROS

usando el paquete de video-stream

Escrito por Davinson Castaño Cano el 24 de Marzo de 2021 · 3 mins de lectura

Para visualizar la cámara o las cámaras del celular en ROS, deberemos usar elementos para armar el rompecabezas. La utilización de estas cámara nos permitirán acelerar el desarrollo de aplicaciones robóticas.

Instalando DroidCam

En el celular usaremos una aplicación llamada DroidCam, la cual tiene aplicación para Android e iOS. Una vez instalada la aplicación tendremos una dirección web para acceder a esta cámara. En mi caso es:

http://192.168.1.22:4747/video

Ya teniendo esta dirección podemos probar la cámara usando el programa VLC. Desde la primer pestaña del menú de VLC, abrir Open Network Stream… con la url anteriormente presentada.

Instalando video_stream_opencv

Dentro de un terminal en Ubuntu vamos a instalar el paquete de ROS con el siguiente comando:

sudo apt-get install ros-melodic-video-stream-opencv

Probando la cámara

Para probar la cámara en dos terminales de Ubuntu vamos a correr los siguientes comandos :

  • Terminal 1

    roscore
    
  • Terminal 2

    rosrun video_stream_opencv test_video_resource.py http://192.168.1.22:4747/video
    

Aquí debemos tener ya la imagen transmitida por ROS en una ventana.

Creando un Launch File

Para mayor facilidad a la hora de lanzar la cámara con ROS podemos usar un archivo de lanzamiento (launch file). Un archivo para lanzar la cámara lo tenemos a continuación.

<launch>
  <node pkg="video_stream_opencv" type="video_stream" name="camera">
    <param name="video_stream_provider" value="http://192.168.1.22:4747/video"/>
    <param name="fps" value="30.0" />
    <remap from="/image_raw" to="/camera_image" />
  </node>
  <node pkg="image_view" type="image_view" name="viewer">
    <remap from="/image" to="/camera_image" />
  </node>
</launch>

El launch file debe pertenecer a un paquete. Para crear un paquete pueden seguir el tutorial para esto.

Espero que haya sido de utilidad esta información, sumérgete en el mundo de la robótica y aprende un montón en el camino. Si logras usar ROS con éxito cuéntame por mis redes sociales que lo lograste… y si no tienes éxito por favor cuéntame que pasó para ayudarte a lograrlo, de antemano muchas gracias.