ros tutorial introductorio (ocho) - biblioteca de cliente: Rospy (a)

Biblioteca cliente

Este concepto concepto y nuestra comprensión de la API es muy similar. Oferta ROS es esencialmente una librería de programación. Por ejemplo: el nodo establecimiento, anunció que invocar el servicio. Se encapsula los procesos operativos subyacentes, nos ayuda a escribir el código de llamada.

La biblioteca cliente tiene varias versiones: roscpp, Rospy, roslisp

Los dos primeros hablan de la roscpp, esta conferencia se mencionó Rospy. interfaces de Rospy incluyendo el Nodo, Tema, Servicio, de parámetros, las categorías de tiempo.

Rospy

relacionadas con el Nodo-Rospy

Función
init_node (nombre) # Registro y el nodo de inicialización

import rospy 
rospy.init_node('my_node') # 没有返回值

MasterProxy

  • get_master () # get un maestro de mango

bool

  • is_shutdown () # Devuelve si cerrada
  • on_shutdown (fn) # llamar a la función fn cuando el nodo está cerrado

str

  • get_node_uri () # devuelve el nodo URI
  • get_name () # devuelve el nombre completo de este nodo
  • get_namespace () # Devuelve el espacio de nombres del nodo actual
relacionados Rospy-Topic

Función
[[cadena1, cadena2]] get_published_topics () # devuelve todos los nombres de los temas están siendo liberados (cadena1) y tipo (str2)

Mensaje

  • wait_for_message (tema, topic_type, time_out = None) # espera para el tema específico de un msg

  • giro () # gatillo el tema de servicio o tratamiento, se bloqueará hasta el cierre

clase Editorial

  • __init __ (self, nombre, data_class, QUEUE_SIZE = None) # Constructor
  • publicar (self, MSG) # funciones miembro para enviar un mensaje
  • -registro (auto) # función miembro para detener la publicación del
    caso:
pub = rospy.Publisher('topic_name','topic_type',queue_size=None) #size=None相当于同步通信,大于零会为异步通信
pub.publish(msg)

la clase de abonado

  • __init __ (self, nombre, data_class, call_back = Ninguno, QUEUE_SIZE = None) # Constructor
  • -registro (auto-) funciones # miembros de darse de baja
relacionados con Rospy-Servicio

función

wait_for_service (servicio, tiempo de espera = None) # bloqueado hasta que el servicio está disponible

Categoría de servicio -> Servidor relacionada
_init_ (self, nombre, service_class, manejador) # Servicio constructor de
apagado (auto) funciones # miembros de cerrar el servicio

manejador caso:

def handler(req):
    pass
    return res #只传入请求,只传出响应

clase ServiceProxy > cliente relacionados -
solicitante __init __ (self, nombre, service_class ) # constructor y de servicios

Respuesta

  • llame al (auto, args *, ** kwds) Servicio de llamada #
  • __call __ (self, * args, ** kwds) Servicio de llamada #
client = ServiceProxy(...) //构造函数
client.call(req)
#或者
resp = client(req)
relacionados con Rospy-Param

función

XmlRpcLegalValue

  • get_param (param_name, por defecto = _unspecified) # Obtener el valor del parámetro

[Str]

  • get_param_names () # Obtener el nombre del parámetro
  • set_param (param_name, param_value) # establecer el valor del parámetro
  • delete_param (param_name) # parámetros de borrado

bool

  • has_param (param_name) # parámetro existe en los parámetros del servidor

str

  • search_param () # parámetros de búsqueda
relacionados con Rospy-Time

Clase Tiempo -> significa tiempo

__init __ (self, secs = 0 , nsecs = 0) # Constructor
Tiempo ahora () devuelve el método # estática del objeto Hora Hora

caso:

rospy.Time(secs = 1, nsecs = 0)
# or
rospy.Time.now()

Duración de clase -> significa un período de tiempo
__init __ (self, seg = 0 , nsecs = 0) # segundo constructor y nanosegundo

Nota : El tiempo de operación de sustracción, los resultados pueden variar en el tiempo, no el tiempo y dos sumas y restas.

función

Hora

  • get_rostime () # Tiempo tiempo objetivo actual

flotador

  • get_time () # devuelve la hora actual, devuelve un flotador en segundos
  • sueño (duración) # suspender la ejecución

clase de tarifa
__init __ (self, frecuencia) # constructor
del sueño (auto) # cuelga una vez considerado rate.sleep () Tiempo

Hora

  • funciones restante (auto) # miembros restantes tiempo de sueño

Por favor indique la fuente.
Este documento resume la Universidad China de MOOC "Android OS Getting Started"
enlace: Enlace .
Imágenes del programa de captura de vídeo

Publicado 43 artículos originales · alabanza ganado 20 · vistas 1471

Supongo que te gusta

Origin blog.csdn.net/Chen_2018k/article/details/104346359
Recomendado
Clasificación