Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Bicycle model

  • Também chamado: single-track model
  • Categoria: Foundations & spatial maths › Kinematics
  • Tags: vehicle-dynamics, kinematics, autonomous-driving, mobile-robots, car-like-robots

Um modelo plano de veículo que funde as duas rodas de cada eixo em uma única roda na linha central, fornecendo um modelo simples do movimento de um robô do tipo carro com esterçamento e, na forma dinâmica, forças dos pneus.

Definição

O modelo de bicicleta (bicycle model), também chamado de modelo de via única (single-track model), descreve um veículo de quatro rodas que se move no plano fundindo as rodas esquerda e direita de cada eixo em uma única roda na linha central do veículo. O resultado parece uma bicicleta com uma roda dianteira esterçável e uma roda traseira fixa, separadas pela distância entre eixos. Ele ignora rolagem, arfagem, suspensão e as diferenças entre os pneus esquerdos e direitos, mas mantém a geometria que mais importa para o seguimento de caminhos: um veículo do tipo carro precisa virar por esterçamento, seu raio de curva depende do ângulo de esterçamento e da distância entre eixos, e ele não pode se mover lateralmente à vontade.

O modelo tem duas formas comuns. O modelo de bicicleta cinemático supõe que cada roda rola sem deslizamento lateral, de modo que a velocidade de cada roda aponta ao longo de sua orientação. Seu estado é posição, orientação e velocidade, suas entradas são o ângulo de esterçamento e a aceleração, e, com o eixo traseiro como ponto de referência, a taxa de guinada é a velocidade vezes a tangente do ângulo de esterçamento dividida pela distância entre eixos. Ele funciona bem em baixas velocidades e com aceleração lateral moderada. O modelo de bicicleta dinâmico acrescenta a massa do veículo, a inércia de guinada e as distâncias do centro de massa a cada eixo, e calcula as forças laterais dos pneus a partir do ângulo de deslizamento do pneu (tire slip angle) de cada eixo, por meio de um modelo linear de rigidez em curva ou de um modelo de pneu não linear, como a Magic Formula de Pacejka. Ele é necessário quando os pneus se aproximam de seus limites de aderência, como em manobras de emergência, em corridas ou no drift.

O modelo de bicicleta fica entre modelos de veículo mais simples e mais completos. O modelo de monociclo (unicycle model) comanda diretamente a velocidade de avanço e a taxa de guinada, sem geometria de esterçamento nem raio de curva mínimo. O carro de Dubins (Dubins car) é uma abstração de planejamento: movimento para a frente a velocidade constante com curvatura limitada, que é o que um modelo de bicicleta cinemático se torna a velocidade constante com um limite de esterçamento. Modelos de quatro rodas com transferência de carga, suspensão e forças individuais dos pneus são usados quando o agrupamento dos pneus esquerdos e direitos feito pelo modelo de bicicleta é grosseiro demais.

Por que importa

Quase todo carro autônomo, robô móvel com direção Ackermann e plataforma de corrida em pequena escala usa alguma forma do modelo de bicicleta em seu planejador, controlador ou estimador de estado. Ele é simples o bastante para rodar dentro do controle preditivo por modelo em altas taxas e, ainda assim, captura os limites de esterçamento e, na forma dinâmica, a saturação dos pneus.

Principais aplicações

  • Controle preditivo por modelo para carros autônomos e veículos de corrida
  • Controladores de seguimento de caminho como Pure Pursuit e leis de esterçamento do tipo Stanley
  • Planejamento de trajetória para robôs móveis com direção Ackermann
  • Estimação de estado do veículo, incluindo a estimação do ângulo de deriva
  • Controle de drift e de condução no limite

Na prática

Uma equipe constrói um controlador preditivo por modelo para um carro de corrida autônomo em pequena escala. Em baixa velocidade, ela usa o modelo de bicicleta cinemático, com a distância entre eixos medida no carro e um limite de esterçamento tirado do curso do servo, para prever o caminho em um horizonte curto. À medida que as velocidades de volta aumentam, o carro começa a sair de frente nas curvas e as previsões cinemáticas se desviam, então ela passa para um modelo de bicicleta dinâmico. A equipe identifica massa, inércia de guinada, distâncias aos eixos e rigidez em curva dos pneus a partir de dados de condução registrados e depois verifica se a taxa de guinada e a aceleração lateral previstas coincidem com as medições da IMU antes de ajustar o controlador.

Equívocos comuns

  • O modelo de bicicleta é só para bicicletas — é um modelo de veículos de quatro rodas do tipo carro em que cada eixo é agrupado em uma única roda
  • O modelo de bicicleta cinemático vale em qualquer velocidade — ele supõe ausência de deslizamento dos pneus e perde precisão à medida que a aceleração lateral cresce; perto do limite de aderência é preciso a versão dinâmica com forças dos pneus
  • O modelo de bicicleta é o mesmo que o modelo de monociclo — o monociclo comanda diretamente a taxa de guinada, enquanto o modelo de bicicleta faz curvas por meio da geometria de esterçamento, com um raio de curva mínimo

Quem deve saber

  • Engenheiros de direção autônoma e de controle veicular
  • Desenvolvedores de robôs móveis que trabalham com direção Ackermann
  • Pesquisadores de planejamento de movimento que trabalham com robôs do tipo carro
  • Estudantes e makers que constroem carros de corrida autônomos em pequena escala

Tecnologias relacionadas

  • Direção Ackermann (Ackermann Steering)
  • Magic Formula de Pacejka
  • Pure Pursuit
  • Controle preditivo por modelo (Model Predictive Control)
  • Curvas de Reeds-Shepp (Reeds-Shepp Curves)

Termos relacionados

  • Unicycle Model
  • Dubins Car
  • Nonholonomic Constraint
  • Tire slip angle
  • Model Predictive Control

Projetos relacionados

  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
  • MOLA: Modular C++/ROS 2 framework for LiDAR odometry, SLAM, and localization
  • IKPy: Pure-Python inverse kinematics library that builds chains straight from URDF
  • Vision Pilot: Autoware Foundation's open-source L2 ADAS stack from a single camera

Vídeos

  • Self-Driving Cars - Lecture 5.2 (Vehicle Dynamics: Kinematic Bicycle Model): Tübingen Machine Learning
  • Self-Driving Cars - Lecture 5.4 (Vehicle Dynamics: Dynamic Bicycle Model): Tübingen Machine Learning

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.