Operational Space Control
- Também chamado: OSC, operational space formulation
- Categoria: Control › Force & interaction control
- Tags: task-space-control, torque-control, manipulation, dynamics, redundancy
Um método de controle em nível de torque que escreve a dinâmica de um braço robótico em coordenadas do efetuador final, de modo que o efetuador final possa ser comandado diretamente como um sistema massa-mola-amortecedor no espaço da tarefa.
Definição
Controle no espaço operacional (operational space control) é um framework introduzido por Oussama Khatib em 1987 para controlar um robô diretamente nas coordenadas de sua tarefa, geralmente a posição e a orientação do efetuador final, em vez de em coordenadas de junta. Seu ponto de partida é reescrever as equações de movimento do robô nessas coordenadas da tarefa. O resultado tem a mesma estrutura da dinâmica no espaço das juntas, com uma matriz de inércia no espaço da tarefa Λ = (J M⁻¹ Jᵀ)⁻¹, construída a partir da matriz de inércia no espaço das juntas M e do jacobiano J, mais os termos de Coriolis, centrífugos e de gravidade expressos no efetuador final.
Com esse modelo, o controlador calcula a força e o momento que o efetuador final deve aplicar, tipicamente uma lei PD sobre o erro de pose escalada por Λ e com os termos dinâmicos cancelados, e os converte em torques de junta com a transposta do jacobiano. O efeito é que o efetuador final se comporta como um sistema massa-mola-amortecedor simples e desacoplado no espaço cartesiano, com resposta previsível em todas as direções. Como o controlador trabalha com forças, ele se estende naturalmente ao controle unificado de movimento e força e ao contato complacente.
Para robôs redundantes, que têm mais juntas do que a tarefa precisa, o controle no espaço operacional adiciona objetivos secundários no espaço nulo da tarefa principal, usando uma projeção dinamicamente consistente para que, por exemplo, um objetivo de postura ou de limite de junta não perturbe o efetuador final. Essa ideia de tarefas empilhadas e priorizadas é a base de muitos controladores de corpo inteiro para humanoides. O método depende de um modelo dinâmico razoável e de controle de torque nas juntas, e a inércia no espaço da tarefa fica mal condicionada perto de singularidades, por isso as implementações práticas adicionam amortecimento e recorrem a leis de impedância mais simples no espaço da tarefa quando o modelo é incerto.
Por que importa
Tarefas de manipulação são especificadas em termos de onde a ferramenta está e de como ela deve empurrar, não de ângulos de junta. O controle no espaço operacional permite que um robô acompanhe e reaja nesses termos com rigidez e complacência consistentes, e por isso é um controlador de baixo nível comum por baixo de políticas aprendidas que geram alvos para o efetuador final.
Principais aplicações
- Controle de baixo nível das poses do efetuador final geradas por políticas de manipulação aprendidas
- Tarefas de contato complacente como limpar, inserir e empurrar
- Controle combinado de movimento e força ao longo de diferentes direções da tarefa
- Controle de corpo inteiro de humanoides e manipuladores móveis com tarefas priorizadas
- Teleoperação em que os comandos do operador são dados no espaço cartesiano
Na prática
Em uma configuração de aprendizado construída sobre um braço robótico controlado por torque, uma política ou um conjunto de primitivas de comportamento gera uma sequência de poses-alvo do efetuador final a uma taxa baixa, por exemplo dez vezes por segundo. Um controlador no espaço operacional rodando a várias centenas de hertz ou mais converte cada alvo em torques de junta: calcula o erro de pose, aplica ganhos de rigidez e amortecimento, escala pela inércia no espaço da tarefa, adiciona a compensação de gravidade e mapeia o resultado pela transposta do jacobiano. Um termo no espaço nulo mantém o cotovelo perto de uma postura confortável. Os engenheiros ajustam a rigidez para que o braço acompanhe bem no espaço livre, mas ceda ao entrar em contato com uma prateleira ou um objeto, e reduzem os ganhos ou adicionam amortecimento onde o braço se aproxima de uma configuração singular.
Equívocos comuns
- Controle no espaço operacional é o mesmo que cinemática inversa — ele trabalha em nível de torque com a dinâmica do robô, em vez de converter poses em ângulos de junta para um controlador de posição
- Ele precisa de um modelo dinâmico perfeito — ele se beneficia de um bom modelo, mas muitas versões em uso empregam uma inércia aproximada e contam com os ganhos de realimentação para absorver os erros
- Comandar o efetuador final fixa o braço inteiro — em robôs redundantes o movimento no espaço nulo precisa ser controlado separadamente, ou o braço pode derivar
Quem deve saber
- Engenheiros de controle de manipulação
- Pesquisadores de aprendizado robótico que escolhem um espaço de ações
- Desenvolvedores de humanoides e de controle de corpo inteiro
- Estudantes de robótica que estudam dinâmica de robôs
Tecnologias relacionadas
- Controle por torque calculado (Computed Torque Control)
- Controle de impedância (Impedance Control)
- Projeção no espaço nulo (Null-Space Projection)
- robosuite
- Pinocchio
Termos relacionados
- Jacobian
- Torque Control
- Impedance Control
- Whole-Body Control
- Hybrid Position/Force Control
- Motion Primitive
Projetos relacionados
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments