Guia de Configuração Paxini PX-6AX GEN3
Da abertura da embalagem ao streaming de dados ao vivo em seis etapas. Abrange montagem, fiação, software PXSR, calibração, verificação e integração ROS2.
Montagem
Anexe o azulejo do sensor ao seu efetor final de robô
A família GEN3 é enviada em três formatos anatômicos. Escolha a variante e o ponto de montagem corretos:
- Variantes de ponta de dedo (DP) — Diâmetro de 13 mm a 30 mm. Projetado para capas de ponta de dedo robóticas. Os modelos de 13 mm (S1813-Core/Elite) e 15 mm (S2015-Elite) se encaixam em mãos ágeis compactas como o LinkerBot O6. Os modelos de 26 mm (M2826-Omega) e 30 mm (L3530-Omega) são adequados para pontas de garra maiores.
- Variantes de Almofada de Dedo (IP/CP) — Almofadas planas (16×10 mm a 53×25 mm) para montagem na superfície dorsal ou ventral dos dedos do robô. Fixadas com a adesão fornecida ou parafusos M2, dependendo da variante.
- Variante Palma (MC) — M2020-Elite (20×20 mm). Monta-se em um bolso rebaixado na placa da palma do robô. Quatro furos para parafusos M2 nos cantos.
Para variantes de ponta de dedo (DP), alinhe a face plana do sensor nivelada com a superfície de contato da ponta do dedo. Roteie o cabo de fita ao longo do corpo do dedo em direção ao pulso, fixando com os clipes de cabo incluídos para evitar enroscos durante o movimento. Evite dobras acentuadas no cabo de fita — mantenha um raio de curvatura de pelo menos 5 mm.
Placa de Fiação e Comunicação
Conecte o sensor à placa de comunicação e ao PC host via USB.
Três opções de placa de comunicação estão incluídas no pacote do produto. Selecione com base na sua implantação:
- Hub SPI de 10 canais — Conecte até 10 módulos de sensor através das portas de canal rotuladas na placa do hub. Cada porta aceita o conector de fita do sensor. Alimente o hub através do cabo USB de 5V incluído. Use esta placa para cobertura tátil de mão completa.
- Conversor Serial de Canal Único — Para prototipagem de sensor único. Conecte a fita do sensor à única porta da placa. A placa expõe uma interface USB-serial para o host.
- Placa Integrada de Alta Velocidade — SPI/I2C de múltiplos canais. Consulte o documento de protocolo de comunicação (v1.0.5) no pacote do produto para o diagrama de fiação do canal.
Uma vez conectado, plugue o cabo USB da placa de comunicação no seu host Windows x64. O LED de energia da placa deve acender imediatamente. O host irá enumerar uma nova porta COM (Windows) ou /dev/ttyUSB* (Linux).
Instalação do Software Driver & PXSR
Instale o PXSR v1.0.7 no seu host Windows x64.
O software PXSR registra o driver USB, fornece visualização de mapa de calor em tempo real e gerencia a exportação de dados. É necessário para a configuração inicial e verificação de calibração.
- Localizar
pxsr-gen3-win-x64-1.0.7_Release.exejá 【04】Pacote de Instalação de Software pasta do seu pacote de produto. - Execute o instalador como Administrador. Aceite o aviso do UAC — o instalador registra o driver USB assinado pelo WHQL para a placa de comunicação.
- Após a conclusão da instalação, o PXSR estará disponível em
C:\Program Files\PaXini\PXSR\PXSR.exe. - Reinicie se o Windows solicitar a reinicialização do driver.
Calibração do Sensor
Carregue o arquivo de coordenadas XLSX e estabeleça uma linha de base sem carga
Cada variante GEN3 é enviada com um arquivo XLSX correspondente que mapeia índices de taxel brutos para coordenadas físicas (x, y) em milímetros em relação ao centro do sensor. Carregar o arquivo correto é necessário para renderização precisa do mapa de calor e cálculo do centróide de contato.
- Abra o PXSR. Com a placa de comunicação conectada, clique Conecte. A barra de status deve mostrar "Dispositivo Conectado".
- Vá para Arquivo → Abrir Mapa de Coordenadas e selecione o arquivo XLSX correspondente à sua variante de sensor. Use a tabela em Especificações para confirmar o nome do arquivo correto (por exemplo,
PXSR-STDDP03B.xlsxpara a ponta do dedo M2826-Omega de 26 mm). - Certifique-se de que o sensor esteja descarregado (sem contato, sem carga gravitacional na face sensora). Clique Calibrar → Zerar Linha de Base. O PXSR captura 100 quadros e armazena o deslocamento sem carga para todos os taxels e todos os 6 eixos F/T.
- Verifique se as barras de 6 eixos no painel direito estão todas próximas de zero (dentro de ±0,02 N / ±0,001 Nm) com o sensor descarregado.
Verificação de Streaming de Dados
Confirme as leituras de força/torque ao vivo e o mapa de calor dos taxéis.
Com o PXSR conectado e calibrado, verifique se todos os canais do sensor estão transmitindo corretamente antes de integrar ao seu pipeline de robô.
- Aplique uma pressão suave e uniforme com a ponta dos dedos na superfície do sensor. O painel do mapa de calor deve mostrar uma região de alta pressão localizada no ponto de contato.
- Deslize a ponta do dedo pela superfície e observe o rastreamento do centróide de contato na sobreposição do PXSR.
- Pressione o sensor lateralmente (força de cisalhamento) — as barras Fx e Fy devem responder enquanto Fz permanece próximo de zero.
- Para implantações do hub SPI: verifique se cada aba de canal no PXSR mostra dados ao vivo. Canais com dados zero indicam uma conexão de fita solta — reconecte e tente novamente.
Para exportar dados para análise offline, use Gravar → Iniciar. O PXSR salva um CSV com colunas: timestamp (Unix ms), Fx, Fy, Fz, Tx, Ty, Tz e o array completo de taxéis planos. Cada linha é um quadro de amostra.
Integração ROS2
Publique dados do sensor em tópicos ROS2 via wrapper Python pyserial.
Para integração ROS2, use pyserial para ler quadros diretamente da porta USB-serial da placa de comunicação e publicá-los em tópicos ROS2. O esqueleto abaixo corresponde ao formato de telemetria JSONL esperado pelo WebSocket da Plataforma Fearless e pode ser adaptado para sensor_msgs publicação ROS2.
#!/usr/bin/env python3 # paxini_ros2_bridge.py — Paxini GEN3 → ROS2 topic publisher # Requires: pyserial, rclpy, sensor_msgs import serial, json, time import rclpy from rclpy.node import Node from std_msgs.msg import String class PaxiniPublisher(Node): def __init__(self): super().__init__('paxini_gen3') self.pub = self.create_publisher(String, '/paxini/tactile', 10) # Configure port per PaXini GEN3 Communication Protocol v1.0.5 self.ser = serial.Serial('/dev/ttyUSB0', baudrate=115200, timeout=0.1) self.create_timer(0.01, self.read_and_publish) # 100 Hz def read_and_publish(self): raw = self.ser.read(64) # frame size: see protocol doc if len(raw) == 0: return ft = self.parse_force_torque(raw) taxels = self.parse_taxel_array(raw) msg = String() msg.data = json.dumps({ "type": "telemetry", "device": "paxini_gen3", "ft": ft, "taxels": taxels, "ts": int(time.time() * 1000) }) self.pub.publish(msg) def parse_force_torque(self, raw): # Implement per PaXini GEN3 Communication Protocol v1.0.5 return {"fx": 0.0, "fy": 0.0, "fz": 0.0, "tx": 0.0, "ty": 0.0, "tz": 0.0} def parse_taxel_array(self, raw): # Returns flat list of taxel pressure values return [] def main(): rclpy.init() node = PaxiniPublisher() rclpy.spin(node) if __name__ == '__main__': main()
Para se inscrever no tópico e registrar dados em um arquivo JSONL para treinamento offline:
# Subscribe and log to file
ros2 topic echo /paxini/tactile --no-arr > tactile_session.jsonl
/api/teleop/ws) para habilitar a visualização ao vivo de mapas de calor no navegador e gravação de episódios sincronizados junto com streams de juntas e câmeras. Veja o Wiki do Desenvolvedor para o handshake completo de registro e formato de telemetria.