Robótica e Automação - História e Conceitos PDF

Summary

Este documento apresenta uma introdução aos conceitos de robótica e automação, incluindo a sua origem histórica e as teorias matemáticas subjacentes. Aborda as leis de robótica, diferentes tipos de robôs, elementos de manipuladores, transformações geométricas, cinemática direta e inversa, e a introdução a veículos autónomos.

Full Transcript

# História ## Origem do termo - Tradução literal: trabalhos forçados ou escravas - O termo eslavo Robota introduzido em 1921 por Karel Čapek. - Aportuguesamento: robô ## Domínio da ficção científica. - 1ª vez: Tletropolis Filme de Fritz Lang em 1926. ## Leis de Robótica de I Asimov (1942) 1. U...

# História ## Origem do termo - Tradução literal: trabalhos forçados ou escravas - O termo eslavo Robota introduzido em 1921 por Karel Čapek. - Aportuguesamento: robô ## Domínio da ficção científica. - 1ª vez: Tletropolis Filme de Fritz Lang em 1926. ## Leis de Robótica de I Asimov (1942) 1. Um robô não pode maltratar um ser humano ou pela sua passividade deixar que um ser humano seja maltratado. 2. Um robô deve obedecer as ordens dadas por um ser humano exceto se entrarem em conflito com a 1ª lei. 3. Um robô deve proteger a sua própria existência desde que essa proteção não entre em conflito com a 1ª ou 2ª lei. # Definições comuns de robô (industrial) - FAQ comp. robotics: dispositivo electromecânico pre-programável para execução de uma variedade de funções. - ESHED Robotics 1984-: um robô é um braço mecânico, um manipulador concebido para levar a cabo muitas tarefas diferentes e capaz de ser programado sucessivamente. - The Robot Institute of America: um robô é um manipulador multi-funcional programável para mover materiais componentes ferramentas. - Standard International ISO 8373: 1994 (E/F): manipulating industrial robot. - Automaticamente controlado reprogramável multipurpose manipulator - 3 ou mais eixos - Reprogramável: whose programmed motions or auxiliary functions may be changed without physical alterations. # Categorias principais de robôs - Robôs industriais - Manipuladores - Veículos auto-guiados (AGV) - Robôs móveis - Veículos terrestres: rodas, pernas - Veículos aéreos: quadcopters, aviões - Veículos aquáticos # Principais diferenças entre as categorias - Ter conhecimento continuo e rigorosa da sua posição. - Aplicações distintas (manipulação, transporte, ...) - Necessidade de percepção do ambiente. - Tipo de programação usada. # Elementos do manipulador - Braço: ( *x, y, z* ) composto por elos e juntas - Punho: ( *φ, θ, ψ* ) - Controlador: capaz de gerar informações de ativação de um ou mais atuadores - Atuadores: dispositivos que geram e impõe movimento - Sensores: elementos destinados à medição # Tipos de automação - **Automação rígida**: Só consegue fazer 1 tarefa, tem sempre a mesma função, produção em mesa, torna necessário vários componentes. - **Automação flexível**: multipleadade, varias funções, um sistema mais versátil, produção variada. # Aplicações tradicionais dos manipuladores - Pintura a "spray" - Soldadura a arco - Acabamento e polimento de superfícies # Importância do robô industrial - Técnica: vantagem da versatilidade pela programação. - Humana: eliminação das tarefas pesadas e desagradáveis para humanos. - Económica: um equipamento pode ser multitarefa e substituir vários equipamentos, sendo economicamente mais barato. # A ponta ## Tipos - Pressão mecânica - Ferramenta - Vácuo - Magnetismo - Adesivo - Mãos antropomórficas # Pares cinemáticos - Ligação entre dois corpos que impõe restrições no seu movimento relativo. - Ligação entre 2 elos - Contacto entre uma superficie do corpo em movimento e uma superficie do corpo fixo. - Um corpo mexe e o outro fica parado. ## Tipos de pares - **Inferior**: contacto entre uma superficie do corpo em movimento e uma superficie do corpo fixo. - **Superior**: contacto através de um ponto ou linha entre um corpo em movimento e o corpo fixo. # Juntas comuns - Rotativas - Prismática - Esférica (3 rotacionais) - Universal (2 rotacionais ortogonais) # Simologia ISO | Designação | Ilustração | Símbolos ISO | Outros símbolos | GdL | |---|---|---|---|---| | Rotacional | | | | 1 | | Linear | | | | 1 | | Helicoidal | | | | 1 | | Cilíndrico | | | | 2 | | Esférico | | | | 3 | | Planar | | | | 3 | # Estruturas cinemáticas - Cartesiana: PPP - Cilindrica: RPP - Esférica: RRP - Articulado horizontal ou SCARA: RRP - Articulado vertical ou antropomórfico: RRR # Conceitos - **Resolução**: O menor movimento incremental de uma junta. - **Repetibilidade** (precisão): Diferença de posição com o robô volta a recclocar-se num ponto visitado anteriormente. - **Exatidão**: Diferença entre uma posição realmente atingida ea posição desejada. # Transformações geométricas homogéneas - Alteração de coordenadas - Rotação: $ \begin{bmatrix} cos θ & -sin θ \\ sin θ & cos θ \end{bmatrix} $ - Translação: $ \begin{bmatrix} 1 & 0 & t_x \\ 0 & 1 & t_y \\ 0 & 0 & 1 \end{bmatrix} $ - Matrizes homogénias: $ P_h = \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} $ $ P_{ih} = \begin{bmatrix} x_1 \\ y_1 \\ 1 \end{bmatrix} $ - $P_1 = T.P + t $ # Casos particulares - $T = \begin{bmatrix} 1 & 0 & t_x \\ 0 & 1 & t_y \\ 0 & 0 & 1 \end{bmatrix} $: translação pura - $ T = \begin{bmatrix} cos θ & -sin θ & 0 \\ sin θ & cos θ & 0 \\ 0 & 0 & 1 \end{bmatrix} $: rotação pura # Multiplas trans formações geométricas - $P_N = T_N \times T_{N-1} \times ... \times (T_2 . (T_1.P)) $ = $(T_N \times (T_{N-1} \times T_2T_1)).P $ # Conclusões - Translações são comutativas: $T_1.T_2 = T_2.T_1 $ - Rotações são comutativas - Uma rotação e depois translação não é comutativo. # 3D - $P_s = \begin{bmatrix} x \\ y \\ z \\ 1 \end{bmatrix}$ - $P_h = \begin{bmatrix} x_1 \\ y_1 \\ z_1 \\ 1 \end{bmatrix} $ - $T = \begin{bmatrix} a & b & c & t_x \\ d & e & f & t_y \\ g & h & i & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix} $ - Rotação em 3D: - Em relação a z: $rot_z(θ) = \begin{bmatrix} cos θ & -sin θ & 0 & 0 \\ sin θ & cos θ & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} $ - Em relação a x: $rot_x(θ) = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & cos θ & -sin θ & 0 \\ 0 & sin θ & cos θ & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} $ - Em relação a y: $rot_y(θ) = \begin{bmatrix} cos θ & 0 & sin θ & 0 \\ 0 & 1 & 0 & 0 \\ -sin θ & 0 & cos θ & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} $ # Interpetações da transformação geométrica 1. **Sistema R**: $R_T.R_q = R_q1$ 2. **Transformada de R para N**: $T_R . R_q = N_q$ 3. **Relação entre sistemas de coordenadas**: $R_T = \begin{bmatrix} r_{11} & r_{12} & r_{13} & t_x \\ r_{21} & r_{22} & r_{23} & t_y \\ r_{31} & r_{32} & r_{33} & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix} $ 4. $ T_w = (T_R)^{-1} $ # Pré e pós multiplicações de T.G ## Pré multiplicação - $T_2 \times T_1 $ ## Pós multiplicação - $T_1 \times T_2 $ # Cinemática Direta e Inversa ## No espaço cartesiano ou operacional - $P = \begin{bmatrix} x \\ y \\ z \\ θ \end{bmatrix} $ - $Q = \begin{bmatrix} q_1 \\ q_2 \\ q_3 \\ q_n \end{bmatrix} $ ## No espaço das juntas - $Q = \begin{bmatrix} q_1 \\ q_2 \\ q_3 \\ ... \\ q_n \end{bmatrix} $. ## Relação entre 2 espaços na cinematica direta e inversa - **Cinemática Direta**: $P = f(Q)$ - **Cinemática Inversa**: $Q = g(P)$ # Dimensionamento dos parâmetros ## Comprimento do elo ( *a_i* ou *l_i*) - $a_i ou l_i = (z_i O x_i), O_i x_i $ - $O_i$ é a interseção de $z_{i-1}$ e $x_i$ ao longo de $x_i$. ## Ângulo da junta ( *θ_i* ) - $θ_i = *(x_{i-1}, x_i) - z_{i-1}$ - *θ_i* é o ángulo desde $ x_{i-1}$ até $x_i$ ao longo de $z_{i-1}$. ## Juntas com centros desalinhados ( *d_i*) - $d_i = (z_{i-1}, z_i) x_{i-1}$ - *d_i* é o comprimento de $O_{i-1}$ até a interseção de $z_{i-1}$ com $x_i$ ao longo de $z_{i-1}$. ## Junta com um ângulo de torção no elo - $α_i = *(z_{i-1}, z_i) x_{i-1} $ - *α_i* é o ángulo entre $z_{i-1}$ e $z_i$ ao longo de $x_{i-1}$. # Cinemática Direta - Funções dos parâmetros anteriores: - Rotação em z: $rot_z(θ_i)$ - Rotação em x: $rot_x(α_i)$ - Translação: $T(a_i, o, d_i)$ # Cinemática Inversa - Pode dar impossível, a partir das coordenadas finais para calcular os valores dos parâmetros. - $A_{i-1} * A_i =\begin{bmatrix} C_1-S_1 L_A*C_1 & -S_2 C_2 & LB * C_2 & C_1 * LB * S_2 - S_1 * LB * C_2 0 \qquad L_A * S_1 & -S_2 * S_2 & -LB * S_2 & S_1 * LB * S_2 + C_1 * LB * C_2 \\ 0 \qquad 0 \qquad 1 & 0 & 0 \\ 0 \qquad 0 \qquad 0 & 1 \end{bmatrix} $ - A partir desta transformação conseguimos retirar as seguintes fórmulas para as coordenadas das juntas num ponto: - $x = LB * C_2 * C_1 + LA * C_1$ - $y = LB * C_2 * S_1 + LA * S_1$ - $z = 0$ - Agora para chegar a um resultado de $θ_1$ e $θ_2$: - $x^2 + y^2 = (LB * C_1 + LA * C_1)^2 + (LB * S_1 + LA * S_1)^2 \Longrightarrow C_2 = \frac{x^2 +y^2 - LA^2 - LB^2}{2* LA* LB}$ - $θ_1 = arctan(\frac{ y*(LA+LB*C_2)- x*LB*S_2}{x*(LA + LB*C_2) - y*LB*S_2 })$ - $θ_2 = arccos(\frac{x^2 + y^2 - LA^2 - LB^2 }{2* LA*LB})$ - Assim podemos concluir que para termos $θ_1$ temos de ter presente um valor para $θ_2$. # Cinemática diferencial - Conceito base é medir a trajetória que a ponta do robô faz. - No espaço operacional: - $r = \begin{bmatrix} x\\y\\z\\θ \end{bmatrix} $ - No espaço das juntas: - $q = \begin{bmatrix} q_1\\q_2\\q_3\\...\\q_n \end{bmatrix} $ ## Explicação do processo - Na cinematica direta o vetor da ponta é em função do vetor das juntas, sendo assim temos: - $\dot r=f(q)=\begin{cases} \dot x = f_x(q)\\ \dot y = f_y(q)\\ \dot z = f_z(q)\\ \dot θ = f_θ(q) \end{cases} $ 1. **Se tivermos um incremento em t temos:** $\dot r = dr = \begin{cases} \dot x \\\dot y\\\dot z\\\dot θ \end{cases} = \begin{cases} dx \\\ dy\\\ dz \\\ dθ \end{cases} $ 2. **Se tivermos um incremento em q temos:** $\dot q = dq = \begin{bmatrix} d_1 \\ d_2 \\ d_3 \\ … \\ d_n \end{bmatrix} = \begin{bmatrix} d_1 \\ d_2 \\ d_3 \\ … \\ d_n \end{bmatrix} $ 3. **Os incrementos dados por unidade de tempo representam a velocidade:** $\dot r= \frac{dr}{dt}$ - Aqui temos uma relação entre o dr e o dq que é representada pelo jacobiano: $J= \begin{bmatrix} \frac{dr_1}{dq_1} & \frac{dr_1}{dq_2} & ... & \frac{dr_1}{dq_n} \\\frac{dr_2}{dq_1} & \frac{dr_2}{dq_2} & ... & \frac{dr_2}{dq_n} \\\frac{dr_m}{dq_1} & \frac{dr_m}{dq_2} & ... & \frac{dr_m}{dq_n} \end{bmatrix} $ , sendo m, a componente de um ponto no espaço operacional e n, o n° de juntas do robô. # Cálculo da inversora - $d\dot r = J . d\dot q $ - $J . d \dot r = J^T.J.d \dot q $ - $d\dot q = J^T.J \dot r $ - $J^{-1} = \frac{Adj(J)}{det(J)} $ - $J = \begin{bmatrix} J_{11} & J_{12} \\ J_{21} & J_{22} \end{bmatrix}$ - $Adj(J) = \begin{bmatrix} J_{22} & -J_{12} \\ -J_{21} & J_{11} \end{bmatrix}^T = \begin{bmatrix} J_{22} & -J_{21} \\ -J_{12} & J_{11} \end{bmatrix}$ - $det(J) = J_{11} \times J_{22} - J_{21} \times J_{12}$ - $J^{-1} = \frac{1}{J_{11} \times J_{22}-J_{21} \times J_{12}} \begin{bmatrix} J_{22} & -J_{21} \\ -J_{12} & J_{11} \end{bmatrix}$ - **Nota**: Quando o Jacobiano não é quadrado, não é invertível, no entanto temos uma função pseudo - inversora para nos dar uma solução aproximada. - $A^+ = (A^T(AA^T))^{-1}A^T \Longrightarrow m \leq n $ - $A^+ = (A^TA)^{-1}A \Longrightarrow m \geq n$ # Planeamento da trajetória - Planeamento das juntas: Temos como objetivo minimizar as variações bruscas no controlo dos motores (controlo direto na junta). - Planeamento no espaço operacional: Aqui temos o objetivo de garantir a trajetória (posição e tempo) da ponta. - $x(t) = r cos(wt)$ - $y(t) = r sen(wt)$ - $\dot x = - rw sin(wt) dt$ - $\dot y = -rw cos(wt) dt $ - **Nota exemplo**: - $ \dot x = x $ - Nomenclatura de derivada por Newton. # Módulo 2: Veículos autónomos ## História - 1ª referência a veículo telecomandado, 1921 - 1º carro sem condutor mecanizado, 1925: Controlada via rádio, a partir de um carro atrás. - The American autonomous ear dream, 1956: Um fio enterrado na estrada enviaria sinais aos carros e ajudava o seu guiamento e a evitar acidentes. - Instituições e empresas que trabalham com Condução Autónomos (CA) - Em Portugal: - CEIL - Bosch - Universidade de Aveiro: ATLASCAR - Google em 2012 - eHang - Transporte aéreo autónomo, 2016 ## Veículos sem condutor - Telecomandados: operador remoto - Guiados automaticamente - Autónomos ## Nomenclaturas | Natureza dos veículos | Nomenclatura | Exemplo | |---|---|---| | Autonomous| Autonomous aerial vehicle | | Unmanned | Unmanned aerial vehicle | ## Nomes genéricos - SGV: Self guided vehicle - ADV: automated driving vehicle - CAV: Connected and automated vehicle ## Problemáticas - Percepção - Navegação - Controlo ## Paradigma geral - Execução em continua destas etapas fundamentais: - Perceção - Planear/"pensar" - Atuar: alterar os parâmetros de atuadores - Sensores: decorrem de forma paralela em unidades distintas. ## Ciclo "Sense-Plan-Act" - **Sense**: GNSS, INS, Camera, Radar, Lidar - **Plan**: Derive path - **Act**: Accelerating, braking, steering ## AÇÃO - Em certos modelos de autonomia, a AÇÃO não existe ou é parcial: - Comunicar simplesmente informações ou alertas. - Fazer automaticamente pequenas correções de direção ou de velocidade. # Grau de apoio dado - Advanced Driver-Assistance Systems (ADAS) - ADAS - Alguns exemplos de apoio ao condutor: - Adaptive cruise control - Cross traffic alert - Emergency braking - Parking assist - Traffic sign recognition - Lane departure warning - Rear collision warning - ADAS - Exemplos de funções e sensores associados: - Long-Range Radar: Adaptive cruise control, Park assist/surround view - LIDAR: Surround view, Park assist - Camera: Cross traffic alert, Adaptive cruise, Park assist, Surround view, Blind spot detection - Short-medium range radar: Park assist, Blind spot detection - Ultrasound: Park assist - Braking: Emergency braking # Niveis de Autonomia segundo a SAE | Nível | Descrição | |---|---| | 0 | No Driving Automation | | 1 | Driver Assistance | | 2 | Partial Driving Automation | | 3 | Conditional Driving Automation | | 4 | High Driving Automation | | 5 | Full Driving Automation | # Níveis de automação de veículos pela NHTSA | Nível | Descrição | |---|---| | 0 | No-Automation | | 1 | Function-specific Automation | | 2 | Combined Function Automation | | 3 | Limited Self-Driving Automation | | 4 | Full Self-Driving Automation | # Bases da Perceção - **Componentes e desafios**: - Sensores - Calibração - Registo - Fusão sensorial - Detectas - Classificação - **Níveis de abstração**: - Dados em bruto (Câmara, lidar, radar, ...) - Deteção de objetos (caixas delimitadoras) - Classificação de objetos (veículos, peões, etc.) - Seguimento de objetos (posição, velocidade, etc.) - Reconhecimento de comportamentos # Sensores ## Propriocepção - Posição - Deslocamento - Velocidades - Aceleração - Inclinações do veículo - Outros estados internos ## Exteorocepção - Imagem 2D - LIDAR - RADAR - Imagem 3D - SONAR # RADAR vs LIDAR - RADAR resolução inferior à do LIDAR - Distância - Direção - Doppler (velocidade relativa) # Forças e fraquezas de alguns sensores | Função | Câmera | Radar Lidar | Câmera + Radar | Câmera + Lidar | Radar + Lidar | Câmera + Radar + Lidar | |---|---|---|---|---|---|---| | Deteção de objetos | | Classificação de objetos | | Estimação de distâncias | √ | √ | √ | √ | | Estimação de velocidade de colisão | √ | √ | √ | √ | | Precisão nas arestas de objetos | √ | | √ | √ | √ | | Seguimento de faixa | √ | | √ | √ | √ | | Gama de visibilidade | | Todas as condições atmosféricas | | Dia e noite | √ | √ | √ | √ | √ | √ | | Localização, mapeamento | √ | | √ | √ | √ | √ | ## Câmera - **Funcionalidade**: Deteção de objetos, Classificação de objetos, Estimativa de distâncias, Estimativa de velocidade de colisão, Precisão nas arestas de objetos, Gama de visibilidade, Todas as condições atmosfericas, Dia e noite, Localização e mapeamento. - **Forças**: Funciona no nevoeiro, Funciona na chuva, Deteção de proximidade, Funciona no escuro, Funciona com luz brilhante, Cor/contraste, Distância, Resolução, Velocidade de deteção. ## Radar - **Funcionalidade**: Deteção de objetos, Classificação de objetos, Estimativa de distâncias, Estimativa de velocidade de colisão, Gama de visibilidade, Todas as condições atmosfericas, Dia e noite, Localização e mapeamento. - **Forças**: Funciona no nevoeiro, Funciona na chuva, Deteção de proximidade, Funciona no escuro, Velocidade de deteção. ## Lidar - **Funcionalidade**: Deteção de objetos, Classificação de objetos, Estimação de distâncias, Gama de visibilidade, Todas as condições atmosfericas, Dia e noite, Localização e mapeamento. - **Forças**: Funciona no nevoeiro, Funciona na chuva, Deteção de proximidade, Funciona no escuro, Distância, Resolução. # Navegação - 3 perguntas que definem o problema: - Onde estou? - Para onde vou? - Como posso chegar lá? - **Traduzem**: - Localização - Planeamento - Execução de caminhos/trajetórias - Desvio de obstáculos # LIDAR - Light Detection And Ranging - Mesmos principios de RADAR - Emissão de sinal luminoso e analisar a reflexão no alvo. - Medições de sinal devolvido. # LASER - Light Amplification by Stimulated of Radiation - Medição de distâncias (reflexão de um feixe). ## Vantagens - Elevada radiancia - Estreita largura de banda (uma só frequência) - Permite boa discriminação espectral laser - Largura de feixe "muito pequena" (estreita) ## Principais Configurações - Tempo de voo - Onda continua - **Scanner**: - **range r1**: reflectance p1 - **range r2**: reflectance p2 - **mixing parameter**: laser spot # Scan LASER - a 2D - O n° de medidas depende da resolução angular e ângulo de varrimento. - Os dados devem ser vistos como representações em coordenadas polares no referencial do sensor. ## Estruturas de dados incluem: - Ordem - Coordenadas polares - Coordenadas cartesianas - Time stamp - Etc. # Relação Scan 2D - Scan Matching - Com um LIDAR 2D, gera scans diferentes. - Com um pequeno deslocamento. - Processo iterativo que calcula qual a deslocação em x, y e orientação (θ). # Reconstrução 3D realista - "Imagens" de distância + imagens de intensidade. - Bom em reconstrução de ambientes. # LASERS 3D comerciais - SICK LD-PRS - Velodyne Alpha Prime # Planeamento ## Tipos - **Estratégico e tático**: visita vários locais em cada região. - **Rotas**: quais caminhos fazer para cada região. - **Local**: evitar obstáculos, geração de trajetória, controla instruções e leis para que os atuadores procurem respeitar a trajetória planeada. # Planeamento Global vs Local ## Global - Necessário um destino final. - Soluções otimizadas, para evitar mínimos locais. - Soluções= caminhos planeados com antecedência. ## Local - Destino final não necessário. - Risco de mínimos locais. - Requer sensores para condicionar o movimento e evitar obstáculos. - Requer uma lei de controle para correções continuas de trajetória. # Campos de potencial - O potencial indica a estabilidade / proximidade de obstáculos e de destino. - A força dada pelo gradiente do potencial indica a "melhor" direção para o destino. ## Lei de controle típica: - Seguir um padrão. - Intensidade da força usada como velocidade linear. # Definição - Dependem sobre uma região de espaço livre. - Obstáculos repelem. - Destino atrai. ## Metodologia - **Pré-processamento**: Definir o campo sobre o espaço de configuração do robô. - **Processamento de procura**: Procura um caminho sobre a grelha usando o campo potencial como heuristica. # Mínimos locais - Um ponto onde a potencial é mínima (seja qual for a sua direção). - Dois obstáculos repelem e contrabalançam a "força de atração de destino. # Cálculo de campos de potencial - $U_{att}(P) = \frac{1}{2} K_{att} ||P - P_{att}||^2$ - $U_{rep_i}(P) = \begin{cases} K_{rep} (\frac{1}{||P - O_i||} - \frac{1}{D_{max}}) \Longrightarrow ||P - O_i|| \leq D_{max} \\ 0 \Longrightarrow ||P - O_i|| > D_{max} \end{cases}$ , sendo $D_{max}$ a distancia de influencia do obstáculo. - $U(P) = U_{att}(P) + \sum_{i=1}^n U_{rep_i}(P)$ ## Força total - $F = \begin{bmatrix} G_x\\ G_y \end{bmatrix} = -\nabla U$ - **Gradiante do potencial**: - $G_ x = \frac{\partial U}{ \partial x}$ - $G_y = \frac{\partial U}{\partial y}$ # Utilização de Campos de Potencial - **Planeamento Global**: Os mínimos locais podem ser previstos e resolvidos a priori. - **Planeamento Local**: - Definir o caminho de mov. instantâneo. - Destino como ponto de atração. - Medidas sensoriais usadas como obstáculos repulsores. - Mínimos locais complexos de controlar. # Outra técnica: Vector Field Histogram (VFH) - 1. **Gera uma coordenada cartesiana 2D para cada medição de distância.** - 2. **Filtra essa grade bidimensional numa estrutura unidimensinal por ângulo.** - 3. **Calcula a direção, o ângulo e a velocidade a partir desta estrutura.** ## Terminologia - **VCP**: Vehicle center point - **Vetor obstáculo**: um vetor que aponta da célula c* para o VCP. # Histograma (2º passo) - **Direções**: 0°, 90°, 180°, 270°. - **Threshold**: - **Setores**: 90° - **H'(k)**: - **Vale**: - **m_i,j**: magnitude do obstáculo vetor em (x_i, y_i). - **c_i,j**: certeza dos valores de (x_i, y_i). - **a**: constante positiva - **b**: constante positiva - **dis**: distância entre (x_i, y_i) e VCP. - **K**: $\int_{setor} B_{i,j}$ - **h_k**: $\sum_{i,j} m_{i,j}$ ## Passo 3: Cálculo da direção - **Selecionar o vale mais próximo de K_{targ}**. - **K_n é selecionado a partir do 1º ou último setor**. - **Vales largos**: $K_p = n + S_{max}$ - **Vales estreitos**: $K_p$ é o último setor. - **Direção**: $θ = (K_n + K_p)/2$ # Limiar - **Definir muito alto**: O robô pode estar muito perto do obstáculo e mover-se demasiado depressa. - **Definir muito baixo**: O VFH pode perder alguns valores candidatos válidas. ## Definição de velocidade - $ h_c '' = min(h_c, h_m)$ - $V = V_{máx} (1 - \frac{h_c ''}{h_m} ) $ - $V = V (1- \frac{Ω}{Ω_{máx} })$ - $V_{mín} \leq V \leq V_{máx} $ - $Ω_{mín} \leq Ω \leq Ω_{máx} $ # Modelos e Terminologias ## Modelo cinemático - Matematicamente traduz o movimento sem considerar as forças que o modificam. - Analisa os termos geométricos que governam o sistema. - Lida com a relação entre os parâmetros de controle e o comportamento do sistema no espaço de estados. ## Modelo dinâmico - Traduz o movimento levando em conta as forças. - Inclui: energia envolvida, forças associadas a estes movimentos. # Modelo cinemático - robôs com rodas ## Coordenadas - $q = \begin{bmatrix} x \\ y \\ θ \end{bmatrix} $ ## Parâmetros - $V_L(t)$: velocidade linear da roda esquerda - $V_R(t)$: velocidade linear da roda direita - $D$: distância entre rodas ## CIC - $CIC = \frac{2*R*sin θ}{y - R*cos θ}$ ## Raio de curvatura - $R_e = R - D/2$: raio de curvatura roda esquerda - $R_d = R + D/2$: raio de curvatura roda direita ## Velocidade angular - $ ω(t) = \frac{V_R(t) + V_L(t)}{D}$ ## Raio de curvatura da trajetória do robô - $R = \frac{V_R(t) + V_L(t)}{V_R(t) - V_L(t)}$ ## Velocidade do ponto médio - $v(t) = R ω(t) = \frac{1} {2}[V_R(t) + V_L(t)]$ ## Velocidade do robô - $x(t) = v(t) cos θ (t) $ - $y(t) = v(t) sin θ (t) $ - $θ(t) = ω(t) $ # Robô triciclo - $CIC = \frac{V(t)^2}{aα(t) - v(t)^2}$ - $R(t)= \frac{D.tan(\frac{π - α(t)}{2})}{α(t)}$ - $ω(t) = \frac{v(t)}{ R(t) + D}$ - $v(t) = \frac{d}{dt} \sqrt{x(t)^2 + y(t)^2}$ - $α(t) = atan(\frac{y(t)}{x(t)})$ ## Ackerman drive - Sistemas de grandes dimensões e massas - $α_1 ≠ α_2$ - $R + D = d.tan(\frac{π}{2} - α_2) = d.cot α_2 $ - $R - D = d.tan(\frac{π}{2} + α_1) = d.cot α_1 $ - $cot α_2 - cot α_1 = \frac{D}{d} $ # Princípio geral do planeamento de caminhos - 2 passos: 1. **Pré-processamento**: Obter a conectividade do espaço livre numa representação conveniente. 2. **Processamento de busca**: Fazer uma busca de caminho na representação. ## Família principais de métodos - Decomposição em células - Mapa de estradas - Campos de potencial - Métodos de amostragem # Método de decomposição em células ## Célula - Região do espaço livre tal que, calcular um caminho entre dois pontos quaisquer

Use Quizgecko on...
Browser
Browser