Buenas tardes, queridos lectores!Este artículo es una serie extraordinaria . Se puede considerar como una adición útil al artículo . Aquí hablaré sobre una herramienta tan útil en ROS como rosbag. ¿Quiénes están interesados, por favor, debajo del gato?¿Qué es rosbag?
rosbag le permite guardar datos publicados en temas ROS en archivos especiales con extensión de bolsa. Entonces estos archivos se pueden reproducir usando el mismo rosbag; Los datos se publicarán en los mismos temas en los que se publicaron inicialmente. Esto permite, por ejemplo, simular la recepción de datos de sensores en ausencia de tales.Escribir datos del tema en el archivo de la bolsa
Por ejemplo, registraremos datos de la cámara Raspberry Pi. Si recordamos el artículo donde recibimos la transmisión de video de la cámara y la publicamos en el tema image_raw. Ahora solo usaremos el mismo nodo ROS para recibir datos para la grabación. Grabaremos la transmisión de video del tema image_raw en el archivo rosbag raspicam_image_raw.bag, y luego lo reproduciremos, recibiendo la transmisión original sin usar la cámara.Entonces, inicie el nodo raspi_cam_ros:rosrun raspi_can_ros capture
Mostrar la lista de temas activos:rostopic list
Entre los temas estará nuestro tema image_raw. Ahora usaremos rosbag para grabar el tema:rosbag record /image_raw -o raspicam_image_raw
Grabaremos unos minutos de la transmisión de video. Es mejor no escribir secuencias muy largas, ya que los archivos de bolsa ocupan un lugar decente en la memoria. Por ejemplo, mi grabación en un minuto y medio tomó 90 MB.Primero, veamos qué contiene nuestro archivo de bolsa:rosbag info < >
path: 2016-05-07-13-00-23.bag
version: 2.0
duration: 55.1s
start: May 07 2016 15:00:24.86 (1462626024.86)
end: May 07 2016 15:01:19.96 (1462626079.96)
size: 89.7 MB
messages: 102
compression: none [102/102 chunks]
types: sensor_msgs/Image [060021388200f6f0f447d0fcd9c64743]
topics: /image_raw 102 msgs : sensor_msgs/Image
Romper los datos del archivo de la bolsa
Ahora pare nuestro nodo y reproduzca el registro:rosbag play raspicam_image_raw.bag -r 1 --loop
Mostramos los datos del tema image_raw en la ventana rqt_image_view:rosrun rqt_image_view rqt_image_view
La reproducción del registro del archivo de bolsa en la Raspberry Pi 2 se puede ver en el video.El equipo de juego de rosbag también tiene varias opciones útiles:- -r FACTOR determina el factor de velocidad (la velocidad de fotogramas se multiplica por este valor)
- -hz = HZ determina la velocidad de cuadros en Hz (el valor predeterminado es 100)
- - bucle recorre la reproducción ("rebobina" hasta el principio cuando llega al final de la grabación)
Hay una herramienta especial rqt_bag para grabar y trabajar con archivos de bolsa. En la página oficial puede obtener más información sobre esta utilidad.Por ahora, eso es todo sobre el rosbag. Creo que encontrará muchos usos para la utilidad rosbag. Esta es una utilidad bastante poderosa y es difícil prescindir de ella cuando se utiliza completamente ROS.¡Buena suerte en tus proyectos con ROS!