arquiteturas para acionamento e controle em tempo real de ...fetter/robarch.pdf · •simm72 socket...
TRANSCRIPT
![Page 1: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/1.jpg)
1
Arquiteturas para Acionamento e Arquiteturas para Acionamento e Controle em Tempo Real de RobôsControle em Tempo Real de Robôs
Walter Fetter LagesUniversidade Federal do Rio Grande do Sul
Departamento de Engenharia Elé[email protected]
![Page 2: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/2.jpg)
2
IntroduçãoIntrodução
• Robôs
♦ Manipuladores
♦ Móveis
• Arquiteturas
♦ Hardware
♦ Software
♦ Controle
![Page 3: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/3.jpg)
3
Acionamento e ControleAcionamento e Controle
• Acionamento diz respeito aos circuitos utilizados para acionar os atuadores do robô
• Controle é a regra segundo a qual o acionamento é utilizado para atingir−se o objetivo
![Page 4: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/4.jpg)
4
ControleControle
• Controle em malha−aberta
♦ Não existe realimentação a partir de sensores
♦ Decisões de controle em função de fatores externos, tipicamente o tempo.
• Controle em malha−fechada
♦ Existe realimentação
♦ O sinal de controle é determinado a partir dos sinais obtidos de sensores
![Page 5: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/5.jpg)
5
Controle em Malha FechadaControle em Malha Fechada
![Page 6: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/6.jpg)
6
Arquitetura de Hardware TípicaArquitetura de Hardware Típica
![Page 7: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/7.jpg)
7
AtuadorAtuador
• Tipicamente o atuador é um motor D.C. com imã permanente
♦ Tensões típicas entre 12V e 56V
♦ Correntes típicas entre 500mA e 20A
• Algumas garras possuem atuação por solenoides ou por ar comprimido
![Page 8: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/8.jpg)
8
TransmissãoTransmissão
• Caixa de engrenagens
♦ Problemas de folgas e sensíveis a vibrações
• Polias
• Alavancas
• Fusos
• Harmonic−drive
![Page 9: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/9.jpg)
9
Harmonic DriveHarmonic Drive
![Page 10: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/10.jpg)
10
Harmonic DriveHarmonic Drive
• Redução de 2/nf em uma única etapa
![Page 11: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/11.jpg)
11
Acionamento do MotorAcionamento do Motor
• Conversor D/A + Amplificador Linear Excelente linearidade Alta dissipação de potência
• Conversor D/A + Amplificador Chaveado Baixa dissipação de potência Pouca imunidade à ruído
• Acionamento por PWM
♦ Baixa dissipação de potência
♦ Boa imunidade à ruído
![Page 12: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/12.jpg)
12
Conversor D/A + Amplificador LinearConversor D/A + Amplificador Linear
• Arquitetura clássica
• Utiliza etapa de potência em push−pull
• Transistores de saída operam na região linear
![Page 13: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/13.jpg)
13
Conversor D/A + Amplificador Conversor D/A + Amplificador ChaveadoChaveado
• Substitui o amplificador linear por um amplificador classe G
• O sinal analógico é modulado em PWM e aplicado à ponte H
![Page 14: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/14.jpg)
14
Pulse Width ModulationPulse Width Modulation
![Page 15: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/15.jpg)
15
Modulador PWM AnalógicoModulador PWM Analógico
![Page 16: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/16.jpg)
16
Acionamento por PWM DigitalAcionamento por PWM Digital
• Acionamento totalmente digital
• Freqüência do PWM pode ser programada
![Page 17: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/17.jpg)
17
Charge PumpCharge Pump
![Page 18: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/18.jpg)
18
ResolversResolvers
• Sinal de excitação de 400Hz
• V1= Vsen(wt)senA
• V2= Vsen(wt)cosA
• Processamento
♦ por demodulação
♦ Por amostragem
![Page 19: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/19.jpg)
19
Demodulação do ResolverDemodulação do Resolver
![Page 20: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/20.jpg)
20
Encoder Óptico AbsolutoEncoder Óptico Absoluto
• Não é prático para resoluções elevadas
• Erros não são cumulativos
• Deve ser sempre utilizada codificação em Gray
![Page 21: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/21.jpg)
21
Encoder Óptico IncrementalEncoder Óptico Incremental
• Permite altas resoluções
• Requer sensor de índice
• Decodificação em quadratura permite multiplicar por 4 a resolução do disco
• Contagem e decodificação deve ser feita por hardware
![Page 22: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/22.jpg)
22
Decodificação em QuadraturaDecodificação em Quadratura
![Page 23: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/23.jpg)
23
Relembrando...Relembrando...
• Computador
♦ PC
♦ DSP
♦ Microcontrolador
♦ Diversos processadores
• Outros dispositivos
♦ Freio
♦ Fim−de−curso
![Page 24: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/24.jpg)
24
Arquitetura de Hardware do TwilArquitetura de Hardware do Twil
![Page 25: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/25.jpg)
25
Amostragem de Encoder e BússolaAmostragem de Encoder e Bússola
![Page 26: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/26.jpg)
26
Problemas de ConcorrênciaProblemas de Concorrência
• Em sistemas com diversos sensores e atuadores geralmente ocorrem problemas de concorrência
♦ Os diversos dispositivos possuem exigências de temporização difícieis de serem abordadas de forma empírica
♦ Torna−se necessário o uso de um sistema operacional multitarefa e que opere em tempo−real
Permite tratar cada dispositivo de forma independente
♦ A quantidade de dispositivos força a utilização de uma arquitetura adequada de Software
![Page 27: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/27.jpg)
27
Arquitetura de Software do TwilArquitetura de Software do Twil
• O software executa no RTAI no modo LXRT
♦ Cada dispositivo é tratado por um trhead
• A biblioteca libtwil.a suporta as operações que podem ser realizadas pelo usuário.
• A biblioteca libmdrc.a suporta as operações possíveis no hardware e é utilizada pela libtwil.a
• O driver mdrc.o é utilizado pela libmdrc.a e acessa diretamente o hardware
![Page 28: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/28.jpg)
28
Classe TWIL_DRIVERClasse TWIL_DRIVER
Class TWIL_DRIVER
{
public:
MOTOR_DRIVER rmotor;
MOTOR_DRIVER lmotor;
STEP_MOTOR pmotor;
TACHO rtacho;
TACHO ltacho;
SONAR tsonar;
SONAR bsonar;
COMPASS compass;
TWIL_DRIVER(void);
~TWIL_DRIVER(void);
void on(void);
void off(void);
};
![Page 29: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/29.jpg)
29
Classe MOTOR_DRIVERClasse MOTOR_DRIVER
class MOTOR_DRIVER
{
double volt;
PWM *pwm;
public:
MOTOR_DRIVER(int number,double voltage,double sw_freq=SW_FREQ);
~MOTOR_DRIVER(void);
void on(void);
void off(void);
double operator=(double voltage);
};
![Page 30: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/30.jpg)
30
Classe PWMClasse PWM
class PWM
{
int dev;
public:
PWM(int number,double sw_freq=SW_FREQ);
~PWM(void);
unsigned int operator=(double dutycicle);
void on(void);
void off(void);
void freq(double frequency);
double get_freq(void);
class bad_pwm { };
};
![Page 31: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/31.jpg)
31
Implementação Classe PWMImplementação Classe PWM
PWM::PWM(int number,double sw_freq)
{
switch(number)
{
case 0:
{
dev=open("/dev/pwm0",
O_WRONLY | O_SYNC);
freq(sw_freq);
break;
}
•
case 1:
{
dev=open("/dev/pwm1",
O_WRONLY | O_SYNC);
freq(sw_freq);
break;
}
default: throw bad_pwm();
}
if(dev==−1) throw bad_pwm();
}
![Page 32: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/32.jpg)
32
Implementação Classe PWMImplementação Classe PWM
PWM::~PWM(void)
{
close(dev);
}
void PWM::on(void){
ioctl(dev,PWM_ON);
}
void PWM::off(void){
ioctl(dev,PWM_OFF);
}
void PWM::freq(double f)
{
int max=REF_FREQ/f;
ioctl(dev,PWM_FREQ,max);
}
![Page 33: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/33.jpg)
33
Driver mdr.oDriver mdr.o
static int pwm_open(struct inode *inode,struct file *file)
{
int counter;
int base=pwm_base(inode,&counter);
outb((unsigned char) ((counter << 6) | ONE_SHOT_BIN),base+CTRL8254);
outb((unsigned char) (max_count/2),base+counter);
outb((unsigned char)((max_count/2) >> 8),base+counter);
return 0;
}
![Page 34: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/34.jpg)
34
Driver mdrc.oDriver mdrc.o
static int pwm_release(struct inode *inode,struct file *file)
{
int counter;
int base=pwm_base(inode,
&counter);
outb((unsigned char) (max_count/2),
base+counter);
outb((unsigned char) ((max_count/2) >> 8), base+counter);
return 0;
}
![Page 35: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/35.jpg)
35
Driver mdrc.oDriver mdrc.o
static int pwm_ioctl(struct inode *inode,struct file *file,unsigned int cmd,unsigned long arg)
{
int nbr=MINOR(inode−> i_rdev)−PWM0_MINOR;
switch(cmd)
{
♦ case PWM_ON:
{
unsigned char olddata=inpb(baseadd);
outb(olddata & (~(0x01 << nbr)),baseadd);
break;}
default: return −EINVAL;
}
return 0;
}
![Page 36: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/36.jpg)
36
Encoder e Bússola SincronizadosEncoder e Bússola Sincronizados
![Page 37: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/37.jpg)
37
Architetura de Hardware do JanusArchitetura de Hardware do Janus
• 2 braços e cabeça de visão stereo
♦ 8 juntas/braço
• A mesma arquitetura foi utilizada para fazer retrofitting de um ASEA IRB6
![Page 38: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/38.jpg)
38
Arquitetura de Hardware do JanusArquitetura de Hardware do Janus
![Page 39: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/39.jpg)
39
Características da ArquiteturaCaracterísticas da Arquitetura
• CAN utilizado para dados em tempo−real
• Ethernet utilizada para dados de supervisão
• Interface como usuário executa em um PC
• A função das AIC é flexível
♦ Deve ler os sensores e acionar o motor Pode funcionar como um controlador local de juntas (PID) Pode funcionar como um processador de I/O
![Page 40: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/40.jpg)
40
Actuator Interface Card (AIC)Actuator Interface Card (AIC)
![Page 41: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/41.jpg)
41
AIC Processor ModuleAIC Processor Module
• Módulo TINI da Dallas Semiconductor
♦ Processador
♦ Real−time clock
♦ Interfaces CAN Ethernet RS −232
♦ SIMM72
♦ Pode ser substituída mantendo−se o módulo de interface
![Page 42: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/42.jpg)
42
AIC Interface ModuleAIC Interface Module
• SIMM72 socket for processor module
♦ PWM with programmable frequency
♦ MOSFET H−bridge
♦ Quadrature decoder for encoder Mutiplies by 4 the encoder resolution Include a 16 bit counter to store pulses counts between
processor readings
♦ Sync−switch interface
♦ Brakes interface
![Page 43: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/43.jpg)
43
AICAIC
![Page 44: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/44.jpg)
44
SoftwareSoftware
• AIC executa um sistema operacional multitasking
♦ Gerenciamento de memória e I/O
♦ Sisema de arquivos
♦ Pilha TCP/IP
♦ Máquina virtual Java
♦ Shell Unix−like
♦ Servidores de TELNET, FTP e console serial
♦ Cliente DHCP
![Page 45: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/45.jpg)
45
Pacote Java AICPacote Java AIC
• br/ufrgs/eletro/AIC
♦ Classes para modelar os dispositivos conectados à AIC PWM, Motor, Encoder, Brake, Index Métodos públicos para suportar as operações possíveis
• Brake.apply(), Brake.release()
• Motor.on(), Motor.off(), Motor.set(double voltage)
♦ A classe Host abstrai a comunicação HostCAN, HostUDP
♦ Métodos críticos implementados em Assembly com métodos nativos
![Page 46: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/46.jpg)
46
Daemon AICDaemon AIC
• Usa o pacote AIC e implementa os serviços da AIC
♦ Controlador local de junta
♦ Processador de I/O
• Carregado na AIC por FTP
• Disparado pelos scripts de inicialização
• AIC possui memória não volátil, portanto o daemon está pronto assim que a a AIC é ligada
![Page 47: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/47.jpg)
47
AIC Daemon Utilizado no ASEA AIC Daemon Utilizado no ASEA IRB6IRB6
• Implementa um processador de I/O
• Programa Java Multi−threaded
• A thread principal trata os argumentos e dispara duas outras threads
♦ SendSensors Envia a leitura dos sensores a cada 10ms
♦ GetCommand Recebe comandos do host e executa−os
![Page 48: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/48.jpg)
48
Software do HostSoftware do Host
• Biblioteca AIC em C++, semelhante em estrutura ao pacote Java AIC
♦ Classes para modelar Motor, Encoder, Freio e Índice
♦ Classe AIC derivada para AIC_CAN e AIC_UDP Detalhes de comunicação encapsulados
♦ Programador não necessita estar consciente da arquitetura distribuída
♦ Classes e métodos são similares aos existentes nas AICs mas implementados em C++ ao invés de Java
![Page 49: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/49.jpg)
49
Software do HostSoftware do Host
• C++ é melhor para controle avançado do que Java
♦ A teoria de controle moderno e o controle de robôs em particular é baseado em álgebra matricial
♦ C++ supporta sobrecarga operadores
♦ Bibliotecas de manipulação de matrizes podem ser construidas de forma bastante conveniente
• O Host executa RTAI
♦ Não há suporte para execução de Java em tempo real
♦ Real−time java não é tão madura quanto POSIX
![Page 50: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/50.jpg)
50
ExperimentosExperimentos
![Page 51: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/51.jpg)
51
ExperimentosExperimentos
![Page 52: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/52.jpg)
52
ExperimentosExperimentos
• Filmes
♦ AICs
♦ J13
♦ J45
♦ J1345
![Page 53: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/53.jpg)
53
ConclusãoConclusão
• Arquiteturas abertas para controle de robôs podem ser construídas à um custo relativamente baixo
• As aquiteturas propostas aqui são batante flexíveis
♦ Possíveis melhorias Sensores de força/torque (em desenvolvimento) Motores AC
• Programação de robôs em C++ é mais barata e mais conveniente do que em linguagens dedicadas
![Page 54: Arquiteturas para Acionamento e Controle em Tempo Real de ...fetter/robarch.pdf · •SIMM72 socket for processor module](https://reader030.vdocuments.net/reader030/viewer/2022032713/5ccce56388c9934c318cee3d/html5/thumbnails/54.jpg)
54
AgradecimentosAgradecimentos
• Este trabalho foi financiado em parte por:
♦ FAPERGS Processo 01/05670
♦ FAPEMIG Processo TEC 2471/98
♦ RECOPE/MANET