Peixe-Robô IFSP

Post on 10-Apr-2017

1.886 views 0 download

Transcript of Peixe-Robô IFSP

ProjetoModelagem, simulação e análise da dinâmica e

cinemática de um peixe robô.“Tucuazul”

IFSP – Campus São Paulo

Novembro 2015

Objetivos Geral- Desenvolver um peixe robô autônomo que mimetize o comportamento de um

peixe real.Específicos- Elaborar revisão bibliográfica sobre o tema;- Estudar a relação entre os parâmetros que definem a movimentação da

calda e a força de propulsão gerada;- Desenvolver os sistemas eletrônicos e mecânicos que permitam a execução

de tarefas aquáticas;- Desenvolver o sistema de controle de profundidade.

Desafios Técnicos

1 – ComunicaçãoTransmitir e receber dados sob a água.

2 – EnergiaGarantir a operação por um período prolongado (autonomia energética).

3 – Eletrônica embarcadaEmbarcar a inteligência no dispositivo.

4 – MecânicaProjetar e construir a estrutura do sistema (impermeável e flexível).

5 - Controle Modelagem e controle do sistema para a execução de tarefas.

6 - Integração

Aplicações– Exploração oceânica ou em rios, – Vigilância,– Inspeção de destroços,– Manutenção de plataformas offshore,– Inspeção ambiental,– Inspeção de tubulações de óleo,– Inspeção de dutos de esgoto – Inspeção de redes de abastecimento de água

ou– Coleta e análise de dados intra-corpóreos.

Revisão Bibliográfica

Fisiologia dos Peixes

Fisiologia dos Peixes

Fonte: Yu,

2005.

(Barbera,2011)

Controle de altitude utilizando a barbatana peitoral de um peixe-robô.

(Yu,2011)

(Zhong, 2013)

(Phamduy, 2015)

(Phamduy, 2015)

Movimentos da CaudaModelagem do

movimento de um peixe real

Equação Matemática

)()(),( 221 tkxsenxcxctxycorpo

No trabalho de Yu et al. (2005) é apresentado um modelo matemático que representa a movimentação da cauda de um robô carangiforme enquanto este executa seu movimento na água

Posição da Cauda

Fonte: Elaborado pelo

autor

Métodos para realização de curvas

Método 1 Método 2

Simulação do movimento(para c2 = 0.5)

Fonte: Elaborado pelo

autor

Métodos para realização de curvas

Movimento real de um peixe

Ensaio de Propulsão

Roteiro

O teste se deu basicamente da seguinte forma:

A estrutura foi presa em uma barra engastada com dois strain gauges, que é um sensor que mede trações e torções gerando uma resistência variável conforme é tracionado ou torcido.

Foi feita a aquisição dos dados dessa célula de carga e os dados foram coletados utilizando um programa feito em ambiente LabView.

Tucuazul V1.0

Fonte: elaborado pelo

autor.

Na estrutura do peixe-robô, que foi desenhada no Solidworks e impressa em uma impressora 3D, foram presos 3 servo-motores. Nesses servos, um

programa, que era executado em Matlab, simulava o movimento da cauda de um peixe. A partir daí, desenvolveu-se uma maneira de

enviar strings a partir do Matlab para um microcontrolador PIC, que efetuava

o controle dos servos.

Fonte: elaborado pelo

autor.

Colagem dos strain-gauges na barra de testes

Fonte: elaborado pelo

autor.

Sistema de aquisição de dados dos strain gauges

Fonte: elaborado pelo

autor.

Software do Labview para DAQ

Fonte: elaborado pelo

autor.

Peixe finalmente na água

Fonte: elaborado pelo

autor.

Estrutura completa do Ensaio de Propulsão

Fonte: elaborado pelo

autor.

Sistema de Aquisição

Funcionamento

Ensaio de direção e profundidade

Deslocamento latitudinal

• Utilização de 2 servomotores com sensores de pressão nas barbatanas laterais para controle de profundidade.

Zhong, 2013

Bateria

Proposta: Utilizar bateria Li-Po com conectores a prova d’agua, fixados na estrutura externa do peixe.

Estrutura Externa – Tucuazul v2.0

Fonte: Elaborado pelo

autor

Estrutura Externa – Tucuazul v2.0

Fonte: Elaborado pelo

autor

Estrutura Externa – Tucuazul v3.0

Fonte: Elaborado pelo

autor

Sistema de Controle de Profundidade

Fonte: elaborado pelo

autor.

Medição de pressão para sensoriamento

Estrutura de testes

Fonte: elaborado pelo

autor.

Eletrônica Embarcada

Fonte: elaborado pelo autor.

Impermeabilização dos Servo-motores

Fonte: elaborado pelo

autor.

Controlador PIDfloat Kp = 1; float Ki = 0.1; float Kd = 0; double Setpoint, Input, Output, ServoOutput;PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT); /* CONFIGURAÇÃO DO PID*/

//leitura valor de pressão do BMP085Input = bmp.readAltitude(); //leitura de valor da altitude a partir do BMP085

//setar objeto PID para automatico//setar os limites do servo para -80 e 80

myPID.SetMode(AUTOMATIC); myPID.SetOutputLimits(-80,80);Setpoint = 15; //IMPORTANTE AJUSTAR SET POINTInput = bmp.readAltitude(); //computa a saída dos servos no alcance de -80 a 80myPID.Compute(); ServoOutput=102+Output; // IMPORTANTE AJUSTAR ESSE VALOR

//escreve o valor de saída no servoServo4.write(ServoOutput); Servo5.write(ServoOutput);

Resultados obtidos no ensaio de profundidade

Fonte: elaborado pelo

autor.

Comunicação

Protocolos de 2.4 GHz não funcionam em ambientes aquáticos. Sendo assim, as melhores opções são sistemas que transmitem os dados em frequências menores, neste caso, 433MHz

Peixe novamente na água

Fonte: elaborado pelo

autor.

Publicações

Propostas para Trabalhos Futuros

• Aperfeiçoamento dos algoritmos de controle de trajetória do robô;

• Utilização de uma unidade inercial baseada em sensores MEMs para determinação de atitude do robô;

• Desenvolvimento dos sensores dianteiros do robô para possibilitar o desvio de obstáculos;

• Estudo sobre o consumo e sobre o sistema de armazenamento de energia para analisar a autonomia do sistema;

• Criação de um aplicativo para comunicação de dispositivos móveis para interface com o peixe;

• Acrescentar sensores de pH para medição de acidez da água, assim como outros tipos de sensores e recursos.