(1) aprendizaje-comprensión de ROS y experiencia de nodos, temas y servicios

Uno, ROS

1. Inicie ROS

roscore

2. Inicie el nodo de la tortuga pequeña.

Vuelva a abrir una terminal y escriba

rosrun turtlesim turtlesim_node 

rosrun: inicia un nuevo nodo;
turtlesim: paquete de funciones
turtlesim_node: un nodo debajo del paquete de funciones

3. Inicie el nodo de control del teclado.

Vuelva a abrir una terminal y escriba

rosrun turtlesim turtle_teleop_key

4. Herramienta de visualización rqt

(1) rqt_graph: puede ver el gráfico de relación de nodos que se está ejecutando actualmente

 rqt_graph

(2) rqt_plot: se puede usar para ver la forma de onda de salida de datos, ingrese / en la columna del tema, el sistema mostrará automáticamente información diversa. Elegimos / turtle1 / pose / x de Xiaohai, haga clic en +, / turtle1 / pose / y , haga clic en +

rqt_plot

En segundo lugar, el nodo

1. ¿Qué es un nodo?

Un nodo es equivalente a un módulo independiente y los módulos (nodos) se pueden conectar entre sí.

2. Utilice el nodo ROS (rosnode <...>)

  • rosnode tiene los siguientes usos:
    lista de rosnode: Obtén el nodo en ejecución
    rosnode info / turtlesim genera esta información de nodo
    rosnode kill / turtlesim kill / end este nodo (puedes presionar Ctrl + C en su terminal en su lugar)

  • (1) lista rosnode: obtenga el nodo en ejecución
    . Como se muestra en la figura siguiente, como arriba, hay 3 nodos en total:
    Inserte la descripción de la imagen aquí
    / rosout: este nodo siempre está allí y se ejecuta como se ejecuta roscore.
    / Teleop_turtle: nodo de control de teclado
    / turtlesim: Nodo Tortuga Pequeña

  • (2) información de rosnode nodo1: Ver la información del nodo "nodo1"
    , como la entrada:

      rosnode info /turtlesim 
    

Como se muestra en la figura siguiente, puede ver diversa información como suscripciones, temas y servicios de este nodo.
Inserte la descripción de la imagen aquí

Tres, tema

1. Cuál es el tema

  • El tema es equivalente al intermediario. Por ejemplo, si estás buscando trabajo y vas al intermediario, le dices al intermediario el tipo de trabajo que estás buscando. La fábrica del otro lado del intermediario también debe tener el el tipo de puesto de trabajo que desea antes de poder comunicarse a través del intermediario.
  • Las personas y las fábricas aquí son nodos
  • Los tipos de mensajes entre nodos deben ser los mismos para comunicarse

2. Usar tema (rostopic)

  • Rostopic de uso común tiene los siguientes usos(TOPIC representa el tema en el que se va a operar)
    lista rostopic Ver la lista de temas
    rostopic echo TOPIC Enviar el mensaje publicado por el tema a la pantalla
    tipo
    rostopic TOPIC Enviar el tipo de tema rostopic pub TOPIC Publicar los datos en el tema

  • (1) Vea la lista de temas y la entrada en la terminal:

      rostopic list
    

    Puede ver todos los temas de running / turtlesim como se muestra a continuación:
    Inserte la descripción de la imagen aquí

  • (2) Ver el tipo de tema de salida, entrada de terminal:

      rostopic type /turtle1/cmd_vel 
    

El tipo de mensaje se mostrará como: geometry_msgs / Twist
Inserte la descripción de la imagen aquí

  • (3) Use pub para publicar el tema, ingrese el siguiente comando:

      rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 "linear:
        x: 2.0
        y: 0.0
        z: 0.0
      angular:
        x: 0.0
        y: 0.0
        z: 1.0" 
    

# 加 -r 1: Haz que la terminal funcione todo el tiempo, y la pequeña tortuga dibuja un círculo.
Inserte la descripción de la imagen aquí

  • (4) Ahora usamos echo para ver los mensajes enviados por el nodo a través del tema, la entrada del terminal:

      rostopic echo /turtle1/cmd_vel
    

Puede ver la siguiente salida, incluida la velocidad lineal lineal y la velocidad angular anular:
Inserte la descripción de la imagen aquí

Cuatro, servicio

1. ¿Qué es el servicio?

El servicio es equivalente a 10086. Cuando realiza una llamada, se reproducirán varios servicios de 10086 en el teléfono, y luego puede presionar 1, 2, 3 ... para seleccionar diferentes servicios, y luego puede experimentar el servicio que desea. seleccionado

2. Cómo utilizar el servicio (rosservice)

rosservice

  • (1) Vea la lista de servicios de nodo en ejecución / turtlesim e ingrese a la terminal:

      rosservice list 
    

Varios servicios se muestran de la siguiente manera:
Inserte la descripción de la imagen aquí

  • (2) Ver servicio

    Para ver / borrar el servicio, ingrese a la terminal:

       rosservice info /clear
    

Inserte la descripción de la imagen aquí

  • (3) Invocar el servicio
    Para invocar el servicio / clear, ingrese al terminal:

      rosservice call /clear
    

Se puede encontrar que el rastro de la tortuguita ha sido despejado.

Supongo que te gusta

Origin blog.csdn.net/m0_46278925/article/details/113743437
Recomendado
Clasificación