🧪 Novos tutoriais em andamento — do braço robótico ao sensor
Ir para o conteúdo

10 Referência: modelo, parâmetros e licenciamento ​

10.1 Arquivos de modelo de referência ​

A simulação usa MuJoCo MJCF (.xml + malhas .stl), compartilhando o próprio design do hardware:

ArquivoDescrição
hardware/v1/robot_v1.xmlModelo principal (geometria/massa correspondentes ao hardware)
hardware/v1/meshes/*.stl6 malhas STL que se agrupam em 4 grupos impressos (placa/casca da base, suporte do ombro, suporte do braço superior/suporte do cotovelo, antebraço)
hardware/v1/meshes/print_mass_model.jsonTabela de massa impressa por peça (15% de preenchimento)

Nenhum URDF é incluído; para uso com ROS, exporte um a partir do CAD/malhas acima.

10.2 Parâmetros do firmware (firmware/sr_support_b_ptk/include/config.h) ​

ParâmetroValorSignificado
POLICY_DT / CTRL_PERIOD_US0.02 s / 20000 µsPeríodo de controle de 50 Hz
MAX_CMD_RATE0.08 rad/tickLimite de slew da saída (4 rad/s)
FALL_UP_Z0.30Limiar de up_z da condição de queda
FALL_W_QUIET0.9 rad/sLimiar de taxa angular da condição de queda
FALL_CONFIRM_TICKS25Confirmação da condição de queda (0.5 s)
EXEC_STEPS_PER_WP20Ticks por waypoint de referência
EXEC_RETRACT_RATE0.033 rad/tickTaxa de retração
EXEC_DONE_TICKS50Ticks consecutivos em pé para concluir
EXEC_TIMEOUT_MS14000Timeout por referência
EXEC_COOLDOWN_TICKS75Cooldown após done/timeout (1.5 s)
EXEC_SWITCH_TICKS15Ticks de confirmação da troca de pose
EXEC_SWITCH_UP0.60up_z máximo para uma troca
EXEC_SWITCH_W0.8 rad/sTaxa angular máxima para uma troca
EXEC_MIN_SWITCH_AGE25Tick mínimo para uma troca
EXEC_MAX_SWITCHES5Máximo de trocas por execução
EXEC_NEUTRAL_MAX120Máximo de ticks na retração ao neutro
SERVO_SHOULDER_CENTER_US1681Pulso de zero do ombro (valor do centro visual gravado em 2026-11; rezerar conforme a página 05)
SERVO_CENTER_US1456Pulso de zero do cotovelo (idem)
SERVO_US_PER_RAD636.622000 µs / π
Q_SHOULDER_MIN/MAX−1.85 / +1.82 radLimites de comando manual do ombro
Q_ELBOW_MIN/MAX−0.90 / +0.70 radFaixa manual (o executor usa ±1.55 mecanicamente)
SERVO_SHOULDER_SIGN/ELBOW_SIGN−1 / −1Direção dos servos
IMU_YAW901IMU montada com rotação de 90°
MAHONY_KP / ACCEL_TRUST_BAND6.0 / 2.5 m/s²Filtro de atitude: ganho de correção do acelerômetro / faixa de confiança
WIFI_AP_SSID / WIFI_AP_PASSSR-Support / srsupportHotspot (w o alterna; ligado na inicialização)

10.3 Sequências de referência (ombro, cotovelo; rad; idênticas, valor a valor, às de training/b_line/getup_reference_b39.py) ​

PoseSequência
roll_pos[1.75,-0.90] → [-0.25,-0.90] → retract
roll_neg[-1.80,0.70] pressão direta em velocidade total (espera ≤40 ticks) → bombeamentos de cunha [-1.80,0.35] → [-1.80,0.05] ×2 (espera ≤30 cada) → fallback: [0.35,0.70] → [0.35,1.10] → [-1.80,0.05] (whip-slam, espera ≤40) → espera final ≤90 → retrair
pitch_pos[-1.32,1.45] → [-0.25,1.45] → retract
pitch_neg[-1.32,-1.65] → [-0.25,-1.65] → retract

10.4 Status verificado e inspeção de fábrica (2026-11-06) ​

  • Inspeção de fábrica: cada unidade pronta recebe — zeros dos servos definidos e gravados por unidade (página 05), calibração de zero do giroscópio + acelerômetro (NVS), e um teste de endireitamento nas quatro direções antes do envio;
  • As quatro direções verificadas no robô real, cada uma como endireitamento direto (sem rolar), cerca de 1–6 s; nenhuma violação do envelope dos servos;
  • Receita final de roll_neg: pressão direta de curso total + bombeamentos de cunha com o cotovelo ×2, nova tentativa de whip-slam como fallback (o esquema anterior de rolar + replanejar foi aposentado);
  • O pipeline de atitude foi corrigido com calibração do bias do acelerômetro (veja a página 06, 6.2); as poses deitadas agora correspondem ao robô real;
  • roll_neg ainda não é reproduzido no modelo de simulação com massa 1× (massa/atrito do braço diferem); essa é uma lacuna conhecida do modelo — o firmware do hardware é validado no hardware.

10.5 Licenciamento ​

  • Código de firmware/treinamento da linha B: MIT / Apache-2.0;
  • CAD/STL da linha B: CERN-OHL-S-2.0 (reciprocidade forte — verifique as obrigações antes do uso comercial);
  • SelfRisingRobot: sem licença; este tutorial não contém nenhum código, waypoint ou modelo dele;
  • Patente CN109693729A/B: faça uma revisão de FTO antes do uso comercial.

← Voltar ao índice do tutorial