Clase 03 - Laboratorio

Parte 1: Servicios y parámetros

Nota

Recuerda configurar el entorno:

    $ source /opt/ros/jazzy/setup.bash

Servicios

Ejecutar nodo demostración add_two_ints_server del paquete demo_nodes_py

Para ejecutar
    $ ros2 run <nombre_paquete> <nombre_ejecutable>

Listar los Servicios

    $ ros2 service list

Para también ver el tipo:

    $ ros2 service list -t

Obtener información acerca de un servicio

  $ ros2 service type <nombre_servicio>

    $ ros2 service type /add_two_ints
  $ ros2 interface show <nombre_tipo_servicio>

    $ ros2 interface show example_interfaces/srv/AddTwoInts

Obtener información de servicios disponibles para cada nodo

  $ ros2 node info <nombre_nodo>

Invocar un servicio

  $ ros2 service call <nombre_servicio> <nombre_tipo_servicio> <argumentos>

    $ ros2 service call /add_two_ints example_interfaces/srv/AddTwoInts "{a: 7, b: 12}"

Parámetros

Ejecutar nodo demostración set_parameters_callback del paquete demo_nodes_py


Listar los parámetros

    $ ros2 param list

Obtener información acerca de un parámetro

  $ ros2 param describe <nombre_nodo> <nombre_parametro>
    $ ros2 param describe /set_parameters_callback param1

Obtener el valor de un parámetro

  $ ros2 param get <nombre_nodo> <nombre_parametro>
    $ ros2 param get /set_parameters_callback param1

Establecer el valor de un parámetro

  $ ros2 param set <nombre_nodo> <nombre_parametro> <valor>
    $ ros2 param set /set_parameters_callback param1 1.0

Obtener el valor de los parámetros de un nodo

  $ ros2 param dump <nombre_nodo>
    $ ros2 param dump /set_parameters_callback

Cargar un archivo de parámetros al momento de ejecutar nodos

  $ ros2 run <nombre_paquete> <nombre_ejecutable> --ros-args 
      --params-file <archivo>