Categorías
Otros

Los comandos básicos de funcionamiento de la cámara de profundidad Realsense2 (de hecho, muchos de ellos son comandos ROS básicos)

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 listPuede ver todos los temas actuales.
rostopic list | grep colorEncuentra 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/ImagePuede 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_rawPuede 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_rawPuede 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.

  informe de errores maven Para ver el seguimiento completo de la pila de los errores, vuelva a ejecutar Maven con el modificador -e. Vuelve a dirigir Maven usi

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 rvizOrvizAbra 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/pointsCompruebe la información del tema y vea que el tipo de mensaje es sensor_msgs/PointCloud2:

Pasar de nuevoComandorosmsg show sensor_msgs/PointCloud2Ver 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:

  Resumen de la pregunta de la entrevista avanzada de Rocketmq

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_graphPuede ver los gráficos.
Solo nodos:

Nodos/Temas(todos):

.

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *