Comprender los datos táctiles
Aprenda la estructura de la matriz de presión, calibre los umbrales de detección de contacto, implemente la lógica de detección de agarre y visualice los eventos de contacto con el tiempo con el Paxini Gen3.
Unidad 2 de 5 · Comprender los datos · ~ 1,5 horas
En esta unidad aprenderá la estructura espacial de la matriz de presión, calibrará los umbrales de detección de contacto para su agarre, implementará la lógica de detección de agarre y visualizará eventos de contacto con el tiempo.
Concepto
El mapa de la presión espacial
El campo frame.pressure_map es una matriz 2D NumPy donde cada elemento representa un taxel (pixel táctil). Para la variante de punta del dedo, la matriz es 8×8, cubriendo el área de detección de 14×14 mm en un tono de 1,75 mm. Cada valor es en kilopascals (kPa).
Presión (kPa)
Fuerza por unidad de área. Rango: 0
Área de contacto (mm2)
Sumada de las zonas de la cabina donde la presión excede el umbral.
Fuerza total (N)
Integral de presión sobre el área de contacto. Proporcional a la fuerza de cierre del agarre.
Centroid (fila, columna)
Centro de masa de la región de contacto en las coordenadas de taxel.
# Explore la estructura de mapa de presión importa paxini importa numpy como np sensor = paxini.Sensor() sensor.start.() sensor.calibrate() # zero-offset sin marco de contacto = sensor.latest() print("Array shape:", frame.pressure_map.shape) # (8, 8) "Max pressure:", frame.pressure_map.max(), "kPa") print("Total force:", frame.total_force_n, "N") print("Contact area:", frame.contact_area_mm2, "mm2") print"Centroid:", frame.contact_cent) # (row,) float
Paso 1
El límite de contacto frente al límite de no contacto
El umbral de contacto predeterminado es de 5 kPa por cabina y fuerza total de 0,05 N. Estos valores predeterminados funcionan para la mayoría de las configuraciones, pero pueden necesitar ajuste basado en la carga previa de su agarre y la tensión del cable en el sensor.
Ejecutar este guión de calibración para medir el nivel de ruido en reposo de su sensor y establecer un umbral apropiado:
Importar paxini importar numpy como np sensor = paxini.Sensor() sensor.start.sensor.calibrate() # cero-offset primero # Muestra de 100 cuadros sin línea de contacto base_forces = [] para i, marco en enumerar(sensor.stream()): línea de referencia_forces.append(frame.total_force_n) si i >= 99: breaking_floor = np.max.bas\_forces) recomendado_threshold = noise_floor * 3.0(f"Noise floor print: {noise_floor4f} N") printf"Remended contact threshold: {recomended_setthreshold4f} N) # Apply the threshold.\\\concomm_sensor:.\threshold4f}
Valores típicos El nivel de ruido es generalmente de 0,005
Paso 2
Logia de detección de la captura
Un detector de agarre simple pero robusto utiliza tres condiciones simultáneas: bandera de contacto verdadera, área de contacto por encima del mínimo y centroide estable (centroide no se mueve rápidamente).
Importar paxini importar numpy como np de las colecciones importar sensor deque = paxini.Sensor.((() sensor.start.() sensor.calibrate() centroid_history = deque(maxlen=10) # últimos 10 cuadros def es_stable_grasp(frame): si no es marco.en_contact: regresar Falso si marco.contact_area_mm2 < 8.0: # al menos ~3 taxels regresar Falso centroid_history.appendframe.contact_centroid) si lencentroid_history) < 5: regresar centroides = np.ay_centroid\history) centroides_std = centro.std.std.
Paso 3
Visualizar los eventos de contacto con el tiempo
En el plano de la fuerza total y el estado de contacto durante una grabación de 10 segundos para comprender la estructura temporal de un ciclo de captura y liberación:
Importar paxini importar numpy como np importar matplotlib.pyplot como plt sensor = paxini.Sensor) sensor.start.() sensor.calibrate() fuerzas = [\] contactos = [\] timestamps = [] print("Registro de 10 segundos
Para la terminología de torsión de fuerza utilizada en el campo, véase el glosario de robótica.
Unidad 2 completa cuando...
Puede imprimir la forma del mapa de presión y confirmar que es (8, 8) para la variante de punta de los dedos. Su umbral de contacto calibrado no produce falsos positivos cuando sacude el cable del sensor suavemente. El detector de agarre imprime "STABLE GRASP" dentro de los 0,5 segundos de agarrarse firmemente a la superficie del sensor. Su gráfico de eventos de contacto muestra bordes de aumento y caída claros en la agarre y liberación.
[← Regreso a la visión general del camino]







