Laboratorio Primer Parcial

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

6/10/2020 Untitled

SISTEMAS LINEALES 2

PROYECTO DE LABORATORIO PRIMER PARCIAL


(10PTS)
Ing. Americo Alvarez Surci
En el presente documento hallaran una guia del laboratorio que deberan presentar

OBJETIVO:
Analizar los datos de 24 sensores ultrasonicos del robot SCITOS G5 (manual aqui->
https://www.yumpu.com/en/document/read/3271797/scitos-g5-software-guide-metralabs
(https://www.yumpu.com/en/document/read/3271797/scitos-g5-software-guide-metralabs))

### TAREAS:
Cargar los datos "sensor_readings_24.data" que pueden ubicar en:
https://archive.ics.uci.edu/ml/datasets/Wall-Following+Robot+Navigation+Data
(https://archive.ics.uci.edu/ml/datasets/Wall-Following+Robot+Navigation+Data)
Indicar cual es la Frecuencia de adquisicion de las señales en Hertz.
Indicar que sensores se activan cuando, se realize el:
Movimiento adelante (Move-Forward)
Giro leve a la derecha (Slight-Right-Turn)
Giro cerrado a la derecha (Sharp-Right-Turn)
Giro leve a la izquierda (Slight-Left-Turn)
Elegir un sensor (para analizar) y realizar la Conversion de los datos a Centimetros utilizando la funcion de
"Echo" del sensor ultrasonico, en cada uno de los movimientos.
Graficar (4 graficas) el comportamiento de las medidas en cm realizadas por el sensor elegido.
Responder las siguientes preguntas, esto de acuerdo al sensor elegido:
¿cual es la minima distancia Medida por el sensor elegido cuando se realiza Slight-Right-Turn?
¿cual es la maxima distancia Medida por el sensor elegido cuando se realiza Sharp-Right-Turn?
¿cual es la distancia promedio del movimiento Slight-Left-Turn?
De los datos en centimetros, realizar la adaptacion de señal si se trabaja con medidas MAXIMAS de 20cm y
minimas de 2cm (normalizacion de datos), y graficar para poder contrastar entre la señal sin adaptacion y
con adaptacion

optativa (puntos extras)


Realizar la Transformada Rapida de Fourier de las señales que representan los 4 movimientos, (adelante,
giro,etc)

localhost:8888/nbconvert/html/PROYECTO DE LABORATORIO PRIMER PARCIAL/Untitled.ipynb?download=false 1/4


6/10/2020 Untitled

In [1]: import numpy as np


import matplotlib.pyplot as plt

import pandas as pd #libreria para trabajar con archivos del tipo DATAFRAME

In [2]: SENSORES = pd.read_csv('sensor_readings_24.data', delimiter=',',decimal=".",he


ader=None) #utilizamos pandas para abrir archivos

In [3]: SENSORES.head(7) #vemos las primeras 7 filas del dataframe cargado llamado SEN
SORES

Out[3]:
0 1 2 3 4 5 6 7 8 9 ... 15 16 17

0 0.438 0.498 3.625 3.645 5.0 2.918 5.000 2.351 2.332 2.643 ... 0.593 0.502 0.493 0.

1 0.438 0.498 3.625 3.648 5.0 2.918 5.000 2.637 2.332 2.649 ... 0.592 0.502 0.493 0.

2 0.438 0.498 3.625 3.629 5.0 2.918 5.000 2.637 2.334 2.643 ... 0.593 0.502 0.493 0.

3 0.437 0.501 3.625 3.626 5.0 2.918 5.000 2.353 2.334 2.642 ... 0.593 0.502 0.493 0.

4 0.438 0.498 3.626 3.629 5.0 2.918 5.000 2.640 2.334 2.639 ... 0.592 0.502 0.493 0.

5 0.439 0.498 3.626 3.629 5.0 2.918 5.000 2.633 2.334 2.645 ... 0.589 0.502 0.493 0.

6 0.440 5.000 3.627 3.628 5.0 2.919 3.028 2.346 2.330 2.638 ... 0.588 0.501 0.492 0.

7 rows × 25 columns

In [4]: #analizamos el giro leve hacia la derecha (Slight-Right-Turn)


GLD = SENSORES.loc[:,SENSORES[24] == "Slight-Right-Turn"]
GLD.head(2)

Out[4]:
0 1 2 3 4 5 6 7 22 23 24

0 0.438 0.498 3.625 3.645 5.0 2.918 5.0 2.351 0.440 0.429 Slight-Right-Turn

1 0.438 0.498 3.625 3.648 5.0 2.918 5.0 2.637 0.443 0.429 Slight-Right-Turn

localhost:8888/nbconvert/html/PROYECTO DE LABORATORIO PRIMER PARCIAL/Untitled.ipynb?download=false 2/4


6/10/2020 Untitled

In [5]: #elegimos el sensor 0 del movimiento suave hacia la derecha (Slight-Right-Tur


n)
GLD_S017 = GLD.iloc[:,[0]]
GLD_S017.head(4) #vemos las 4 primeras filas del dataframe

Out[5]:
0

0 0.438

1 0.438

2 0.438

3 0.437

In [6]: #vemos el tamaño del dataframe


GLD_S017.shape # (filas,columnas)

Out[6]: (5456, 1)

In [7]: # convertimos el dataframe a array numpy, para trabajar comodamente con lo que
ya practicamos
mov_leve_derecha = GLD_S017.to_numpy()

In [8]: type(mov_leve_derecha)

Out[8]: numpy.ndarray

In [9]: mov_leve_derecha[:4,:] #vemos las 4 primeras filas de la matriz numpy

Out[9]: array([[0.438],
[0.438],
[0.438],
[0.437]])

In [10]: mov_leve_derecha.shape # el tamaño de la matriz es igual al dataframe

Out[10]: (5456, 1)

In [11]: # SI por ejemplo la funcion del sensor fuera dato = medida^2 + 10.4

In [12]: MLD_cm = mov_leve_derecha**2+10.4

In [13]: MLD_cm[:4,:] #vemos las 2 primeras filas de la matriz numpy que mostraria dat
os en centimetros

Out[13]: array([[10.591844],
[10.591844],
[10.591844],
[10.590969]])

In [ ]: # definimos valores del eje de tiempos DISCRETOS n, vease el ejemplo del ECG c
uando teniamos una frecuencia de adquisicion

localhost:8888/nbconvert/html/PROYECTO DE LABORATORIO PRIMER PARCIAL/Untitled.ipynb?download=false 3/4


6/10/2020 Untitled

In [ ]: # Graficando la señal de del sensor elegido, para el caso del movimiento suave
hacia la derecha (Slight-Right-Turn)
plt.plot(td,MLD_cm)
plt.grid()

In [ ]: ## RESPUESTA DE LAS PREGUNTAS

In [ ]: #realizando la adaptacion de la señal

#graficas de las Señales adaptadas

In [ ]: # optativa puntos extras

In [ ]:

In [ ]:

localhost:8888/nbconvert/html/PROYECTO DE LABORATORIO PRIMER PARCIAL/Untitled.ipynb?download=false 4/4

También podría gustarte