Los comandos de operación básicos de la cámara de profundidad Realsense2 (de hecho, muchos de ellos son comandos ROS básicos), pero todavía los reimprimo y los aprendo. No sé cómo usarlos como rosbag.
hacia adelante desde:https://blog.csdn.net/weixin_42361804/article/details/104144690
Funcionamiento básico de la cámara de profundidad Realsense2Comando
*La luna es brillante* 2020-02-02 14:50:25 1009 Favoritos 8
Columna de clasificación:Cámara Realsense2
Última versión: 2020-02-02 14:50:25 Primera versión: 2020-02-02 14:50:25
Declaración de derechos de autor: Este artículo es el artículo original del bloguero, siga CC 4.0 BY-SA Acuerdo de derechos de autor, adjunte el enlace de origen original y esta declaración para su reimpresión.
Enlaces a este artículo:https://blog.csdn.net/weixin_42361804/article/details/104144690
Copyright
Funcionamiento básico de la cámara de profundidad Realsense2Comando
1,rostopic
(1) lista rostopic
Ejecutarroslaunch realsense2_camera rs_camera.launch
, Terminal recién inauguradorostopic list
Puede ver todos los temas actuales.rostopic list | grep color
Encuentra todos los temas sobre «color»:rostopic list | grep depth
Puede encontrar todos los temas sobre «profundidad»:
(2)información rostopic
rostopic info /camera/color/image_raw
Puede ver la información detallada del tema «/cámara/color/image_raw»:
Puede ver que el tipo de mensaje es /camera/color/image_raw, el editor es /camera/color/image_raw, no hay destinatario y solo un determinado nodo se suscribe a este tema y, a continuación, hay un destinatario.
Entrarrosmsg show sensor_msgs/Image
Puede ver la definición detallada del mensaje:
Este formato de mensaje se puede utilizar para transmitir información de imagen.
(3)image_view
Entrarrostopic list | grep "raw$"
, Puede ver los siguientes seis temas y puede ver seis imágenes a través de estos seis temas mediante image_view.
color: imagen de color, profundidad: imagen de profundidad, infra1infra2: imagen infrarroja, nube de puntos: imagen de nube de puntos, alineada de la A a B: alinear la imagen de B a A, utilizar image_view para ver la imagen de color, imagen de profundidad e infrarrojo de la imagen de la cámara.
Nueva entrada de terminalrosrun image_view image_view image:=/camera/color/image_raw
Puede ver la imagen en color: (/cámara/color/image_raw es el nombre del tema, solo necesita modificar este tema para ver otras imágenes)
En este momento, escriba el nuevo terminalrostopic info /camera/color/image_raw
Puede ver que el destinatario es «/image_view_1571487516552059717»:
Esto significa que image_view está recibiendo la transmisión de vídeo de la cámara y mostrándola.
Imagen de profundidad: /cámara/profundidad/image_rect_raw
Imagen infrarroja: /camera/infra1/image_rect_raw
Flujo de color a imagen alineada con flujo de profundidad: /camera/aligned_depth_to_color/image_raw
Imagen alineada por flujo infrarrojo al flujo de profundidad: /camera/aligned_depth_to_infra1/image_raw
2,rviz
A través del estudio anterior, sé que se puede utilizar image_view para ver varias imágenes producidas por la cámara, y para ver la nube de puntos, es necesario utilizar rviz u otros programas de interfaz gráfica de usuario.
(1) Crear una visualización con rviz
Ejecute el archivo de lanzamiento de rgbd, utiliceComandorosrun rviz rviz
Orviz
Abra rviz, luego agregue una visualización, seleccione el nodo /camera/depth_registered/points en «Por tema» y agregue la imagen de nube de puntos «PointCloud2» dentro a rviz:
(2) En este momento, no se encuentra ninguna imagen en la nube en rviz. La razón es que el mapa en rviz es el sistema de coordenadas del mundo, y las coordenadas de la cámara no conocen su propia pose. Es necesario dar a la cámara una pose y decirle a la cámara que está relacionada con el sistema de coordenadas del mundo. ¿Cuál es la relación? La forma más fácil es establecer las coordenadas del mapa directamente en las coordenadas de la cámara.
Pase primeroComandorostopic info /camera/depth_registered/points
Compruebe la información del tema y vea que el tipo de mensaje es sensor_msgs/PointCloud2:
Pasar de nuevoComandorosmsg show sensor_msgs/PointCloud2
Ver la definición del mensaje:
Se encuentra que hay un frame_id, que es el sistema de coordenadas de la cámara, a través deComandoeco rostopic /cámara/depth_registered/puntos | grep frame_id puede ver el nombre de frame_id:
El nombre de la frame_id se llama «camera_color_optical_frame», el sistema de coordenadas del mundo se llama «mapa», y luego se puede pasarComandorosrun tf static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map camera_color_optical_frame 100
Asigne el sistema de coordenadas mundiales directamente a la sistema de coordenadas de la cámara, esteComandoLos seis 0.0s indican que no hay traducción o rotación. (Al buscar la información, conocemos los dos usos de rosrun tf static_transform_publisher: 1: static_transform_publisher rollo de paso de guiñada xyz frame_id child_frame_id perios_in_ms, utilizando coordenadas para representar la traducción, y ángulos euler para representar la rotación. 2: static_transform_publisher xyz qx qy qz qw frame_idin_frame_id period_idin_frame_id Coordenadas representan la traducción, y el cuaternión representa la rotación.) Luego vi la imagen de nube de puntos en rviz:
3,rosbag
rosbag se utiliza principalmente para grabar, reproducir y analizar los datos en rostopic. Los datos del rostopic especificado se pueden registrar en el paquete de datos con el sufijo .bag, que es conveniente para el análisis y el procesamiento sin conexión de los datos.
Ejecute el archivo de lanzamiento de rgbd y ejecútelo en el nuevo terminalrosbag record /camera/color/image_raw -o color_image
, Guarde los datos sobre el tema /camera/color/image_raw en el archivo color_image.bag, lo que significa guardar la secuencia de vídeo RGB de la cámara en el archivo bag para su uso posterior.
Después de eso, salga de todos los programas, ejecute roscore y ejecute en el nuevo terminalrostopic echo /camera/color/image_raw
, Sin ningún resultado:
Ejecutar en el nuevo terminalrosbag play color_image_2019-10-19-23-00-49.bag
, Puede ver la información publicada en el tema /camera/color/image_raw en este momento.
En resumen, el papel de rosbag es recibir y almacenar información como suscriptor y volver a publicar información como editor.
4,rqt_graph
rqt_graph puede crear un gráfico dinámico que muestre la operación actual del sistema y puede utilizar el gráfico para ver la relación de conexión entre los nodos y el tema que se está utilizando,Comandorqt_graph
Puede ver los gráficos.
Solo nodos:
Nodos/Temas(todos):
.