Directorio artículo
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