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.
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.
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
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.
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.