Python - ¿Cómo iniciar estos scripts en python?

 
Vista:

¿Cómo iniciar estos scripts en python?

Publicado por Sonia (3 intervenciones) el 11/09/2016 12:49:29
Hola a todos, estoy haciendo un proyecto de un curso y no sé muy bien como empezar estos scripts.

1. Nodo 1 (battery_state_publisher.py): Nodo que publica continuamente en un tópico '/battery_state' el estado de la batería y si está cargando o no. Se propone representar este mensaje con un nuevo mensaje llamado BatteryState.msg con los campos 'percentage' como Float32 y 'charging' como Bool. El nodo publicará el porcentaje de la batería decreciendo hasta descargarse bajando el porcentaje un X% cada Y segundos. El nodo también albergará un Service con un mensaje que se propone llamar Charge.srv con tipo campo 'charging' como Bool el cual seteará el estado como cargando, si está charging a True, el porcentaje de la batería crecerá en vez de decrecer. Finalmente, este nodo tendrá que inicializarse con rosparams para setear:
Porcentaje inicial de bateria (initial_battery = 100)
Estado de carga inicial de la bateria (initial_charging_state = False)
Cada cuanto modificar el porcentaje de la bateria (battery_state_rate = 1.0) y por tanto cada cuanto publicar un nuevo mensaje
Cuanto modificar el porcentaje de la bateria en cada 'tick' (percentage_step = 10?)

2. Nodo 2 (charging_actionserver.py): Action server (llamado '/go_to_charge') con un mensaje propuesto como GoToCharge.action donde el goal consista en un 'PoseStamped' llamado 'charger_pose' donde se especificará una pose imaginaria del cargador y el result consista en un 'Bool' llamado succeeded para indicar que la acción ha funcionado. Este nodo solo espera a que haya llamadas, cuando haya una, este nodo a su vez hará una llamada al servicio del Nodo 1 de charging para ponerlo a cargar.

3. Nodo 3 (battery_monitor.py): Nodo que se subscribe al tópico del Nodo 1 ('/battery_state') y cuando el estado de la batería es <= 40% y NO está cargando saca por la terminal un print avisando de que se está quedando sin batería. Cuando la batería es <= 20% se llama al action server del Nodo 2 ('/go_to_charge') para mandar al robot a cargar.

Agradecería mucho una ayuda lo antes posible.
Muchas gracias'
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

¿Cómo iniciar estos scripts en python?

Publicado por xve (1646 intervenciones) el 11/09/2016 18:54:40
Hola Sonia, sobre que sistema operativo y versión de Python tienes que realizarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cómo iniciar estos scripts en python?

Publicado por Sonia (3 intervenciones) el 11/09/2016 19:01:10
Hola, usamos ubuntu 14.04 con Ros indigo. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

¿Cómo iniciar estos scripts en python?

Publicado por xve (1646 intervenciones) el 12/09/2016 08:19:45
Hola Sonio, la información del % de bateria, y si se esta cargando o no, la puedes obtener del comando acpi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cómo iniciar estos scripts en python?

Publicado por Sonia (3 intervenciones) el 14/09/2016 00:54:19
Ya lo he solucionado. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar