Você está na página 1de 15

Introdução à Robótica

António Paulo Gomes Mendes Moreira


Paulo José Cerqueira Gomes da Costa

Aula nº1 dia 16/03/2022


Robot feito segundo uma configuração diferencial - motores
em ambas as rodas - para curvar teremos de mudar a
“velocidade” de um deles.
Drive permite controlar a tensão nos motores - entre 0 e 7,4 V
- permite também inverter a tensão - para permitir andar para
trás.
Motor associado a uma caixa redutora -conjunto de
engrenagens que reduz a velocidade e ganhamos
força/binário para o motor.
Motores giram muito rápido - queremos reduzir isto, e dar-lhe
força.Tem um disco preto na parte de trás do motor - faz com
que os sensores percebam que a rotação aconteceu -
podemos compreender velocidade do motor - facilita controlo
da velocidade do motor - permite saber quanto cada roda
andou - sabemos a trajetória que o robot estava a fazer.
Temos um sensor, à frente do robot, por baixo, constituído por
5 recetores de infravermelhos - mede a reflexão. Se tivermos
uma risca preta - dá para detetar - reflete muito menos -
branco reflete mais.
Teremos uma unidade de processamento - microcontrolador,
microprocessador e forma de comunicação.
ESP32 - tem capacidade de comunicação wireless - limitado a
3.3V. Frequência de clock de 3.30 MHz.
Tem também uma ligação USB que permite ligar a um PC. Permite programar o
microcontrolador. Programa a trabalhar na unidade de processamento. Será através do
USB que podemos colocar os programas a correr no PC.

Placa de ligações e drive de potência dos motores - diz ao microcontrolador que tensão
passar aos motores. Capacidade de ajuste.
Alimentação baseada em baterias, cada uma com 3.7 V.
O encoder - mede quanto o motor rodou.

Temos um disco, com slots e um emissor/recetor, tal que à medida que ocorre interrupção
do feixo, vamos vendo a aparição/desaparição de um sinal. Não permite saber se está a
girar para a frente ou para trás.
Problema é resolvido com um segundo sinal com desfasamento de 90º - em quadratura.
Parte está programada - só temos de verificar quantos pulsos positivos/negativos deu.

Aqui vemos a ação de um motor, corrente interage com o campo magnético e cria uma
força que faz girar.
Num motor, estamos sempre a aplicar a tensão máxima ou 0.
Se comutarmos muito rapidamente, a corrente que passa no motor tende para variar muito
lentamente - esta mantém-se quase estável.
Podemos mudar quanto tempo permanecemos ligados relativamente ao período total.
Metade do tempo ligado, metade desligado - equivalente a aplicar 50% da tensão.
Ponte em H
Se queremos que o motor gire para um lado ou para o outro, temos de abrir os transistores
de acordo com o que queremos. Permite mudar o lado para onde gira.

Conceitos importantes para Robots


Posição e velocidades.
Corpo no espaço com 6 graus de liberdade. Andar em y,x e z e rodar de 3 formas.
O nosso robot apenas terá menos graus de liberdade - será importante guardar o x e o y.
E apenas rodará para um lado - 3 graus de liberdade. Importante x,y e teta.
Robot apenas pode andar para onde está virado - teremos 2 componentes da velocidade, a
linear e a angular.
Trajetoria em frente - linear.
Rodar sobre si mesmo - angular.
Andar em curva - ambas. v=ómega*r - para trajetórias circulares.
Trabalhar unidades SI.
O centro do Robot estará sempre no centro do eixo das rodas.
Podemos relacionar a velocidade linear v e angular omega com as velocidades das rodas.
Velocidade a que o encoder roda estará associado com v angular da roda.
Podemos descobrir velocidades através do encoder, ou o contrário.

De x em x segundos, fazemos o controlo que queremos - vamos obter as posições


seguintes através desta fórmula. Exemplo de 40 ms para nós.
Para calcular posição - projetar quanto andamos e para onde.

Função control - chamada de 40 em 40 ms - está nesta função a estrutura robot - tem uma
série de campos com a maior parte de coisas que interessa no robot.
Máquina de estados - implementada em software - informa o estado - temos regras para
mudar de estado e comportamentos para determinado estado.
Se queremos que o robot ande para a frente e passado um segundo pare, teremos de dizer:
se estamos no estado andar e já passaram x segundos - passamos para o estado parado.
Podemos ter regras que fazem mudar de estado - permite implementar comportamentos
mais complexos.

PWM 1 e PWM 2 - sinal de PWM que vimos - 0 é 0 V, 255 é associado ao máximo de volts -
um byte.
Para estados de 200 para cima - o PWM que colocamos é o que terá nas rodas.
Para baixo de 200, podemos ou preencher vreq e omegareq e, ou chamar a função do
estado.

Programa via windows que permitirá aceder ao estado. Mecanismo de “se estamos num
certo estado, fazemos x”, ou então, se estamos num estado e acontece x, passamos para
outro.
robot.tis- time in state - mede o tempo num dado estado - permite controlar o tempo que
passamos num dado estado, por exemplo.
Condições devem estar dentro de um estado - senão pode rebentar.

Aula nº2 dia 30/03/2022


Duas maneiras descarregar o software para o robot - cabo usb ou wifi - quando
conseguirmos ligar ao access point, podemos ligar o PC também e associá-lo - para isso
precisamos do endereço IP.
2 softwares - o que queremos descarregar e que temos de compilar com o VS code e o
platform IO.
Outro software que se liga via rede para controlar os dados que estamos a recolher e que
queremos para lá mandar.
Podemos usar o portátil para programar o robot, mas precisamos de cabo USB micro USB.
Mediu-se a distância percorrida com uma régua. Vemos quantos impulsos a roda deu -
fazemos conversão de impulsos para distância.
ki Senci = di.
Para calcular a distância entre as rodas, colocamos a fazer um círculo, com uma das rodas
paradas, e determinamos o raio deste círculo, utilizando a constante de distância para a
roda que se mexeu.

Vamos parar nos 90º - será mais fácil - determinamos logo a distância percorrida, através
do círculo realizado.

Teremos um sistema que corrige as tensões - de modo a ser mais preciso.


Vi=wiri
u=k*erro+k2 *integral do erro
Periodo será igual a 40 ms - samplagem ocorre de 40 a 40 ms.
Integral é aproximado por um somatório
No final dos ajustes, devemos ser capazes de regular velocidade com melhor eficácia.

Aula nº3 dia 05/04/2022


Podemos converter v em PWM e vice-versa. Comparamos a velocidade que temos com a
que queremos, para dar o erro. Utilizamos um Pi para descobrir a tensão a aplicar.
Aula nº4 dia 20/04/2022
Representação das ondas para um Ki de 4500.
Onda após colocação do Kf.
Vemos que, ao baixar o Ki até 2500 e o Kf até 300, conseguimos contrariar a superposição.

Valores - 0 ao branco e 1000 e tal ao preto

Aula nº5 dia 11/05/2022


Tentamos fazer com que o robot ande à roda, siga a pista preta.
2 mecanismos - 1 fazer com que siga a linha - outro fazer com que o robot ande de acordo
com a sua posição. Podemos lidar com as mudanças das condições através de mudanças
de estados.

Você também pode gostar