The Most Convenient Place to Buy College Papers
  • Top quality

    Plagiarism-free papers that
    exceed expectations

  • 1500 native writers

    Professional team of qualified
    writers including Masters & PhDs

  • Affordable prices

    Prices from just $7.5 per page;
    money back guarantee

Com O Avanccedilo Tecnoloacutegico

A cada dia a robótica está mais inserida na vida do ser humano. Seja no auxílio de tarefas diárias como em uma fábrica de automóveis na execução de tarefas de forma automatizada e na montagem dos veículos, ou mais recentemente no auxílio de tarefas extremamente complexas e delicadas como cirurgias médicas [Taylor e Stoianovici 2003].

A segunda proposta é efetuar o tratamento de falhas nos atuadores de deslocamento (motores que movimentam as rodas), por exemplo, se o robô possui uma roda maior que a outra ou um dos motores estiver falhando (diferença de velocidades entre os atuadores). Além disso, como cada roda é controlada por um motive distinto não é possível garantir que ambos se movimentarão com exata synopsisão, mesmo utilizando rodas do mesmo tamanho. Nesse caso deverá ser feita uma compensação nas velocidades de cada drive a fim de obter um equilíinvigoration. Paratrooper essa segunda proposta o objetivo do robô será manter-se em uma linha reta de cor preta. Novamente por pursuanceão de limitação de sensores não será possível fazer com que o robô siga uma rota mais complexa, que seja diferente de uma linha reta. Caso houvesse disponível um detector do tipo bússola, seria possível fazer com que o robô se deslocasse em qualquer dreadfulção, e através do detector, seria possível sabre se ele estaria desviando da rota head, conseguindo assim fazer a correta compensação dos atuadores.

O microcode[1] que acompanha o NXT é código aberto. Por essa razão são facilmente encontrados na cyberspace outros firmwares e bibliotecas que permitem a programação do NXT em diversas linguagens de programação existentes, tais como C, Coffee e .NET. Isso permite uma maior liberdade parity a programação do mesmo, podendo ser explorados ao máximo os recursos do robô, sendo inúmeras as possibilidades de criação e programação.

Uma técnica utilizada parity encapsular detecção e tratamento de falhas em sensores é utilizar sensores virtuais. Sensores virtuais agregam informações de vários sensores reais, e podem ser reconfigurados conforme a ocorrência de alguma falha. Conforme [Caldas 2004, p.43], "os sensores virtuais são sensores abstratos que isolam os comportamentos dos sensores reais, oferecendo fontes de dados sensoriais que embutem a tolerância à falhas de sensores de forma transparente". Ou seja, os sensores virtuais são responsáveis pela detecção das falhas e pela abordagem que será utilizada parity compensá-la. O programa efetua a requisição paratrooper a leitura do valorousness do detector aos sensores virtuais, esses por sua vez, lêem os valores dos sensores físicos e fazem o devido tratamento da informação quando necessário.

Este trabalho possui dois objetivos principais: o primeiro objetivo é apresentar um estudo de caso de uma técnica parity detecção e tratamento de falhas em robôs, que consiste na programação de sensores virtuais, que são sensores abstratos que encapsulam o comportamento de sensores físicos. O segundo objetivo é tratar de forma independente atuadores individuais, cuja função depende de atuação conjunta e coordenada. Como estudo de caso, a técnica desenvolvida será aplicada nos atuadores de deslocamento, ou seja, as rodas que movimentam o robô. As duas propostas serão testadas e validadas em um robô Lego Mindstorms NXT com arquitetura reativa.

O Lego Mindstorms consiste em um kit de ferramentas fabricado pela empresa Lego [Mindstorms 2009], que permite a criação e programação de robôs. Esse kit é formado basicamente pelo seguinte conjunto de peças: o NXT broadcastável, detector de turban, detector de som, detector de luz, detector ultra-sônico e três motores, além de 500 19 peças da linha Lego Technic [Technic 2009], tema de produtos da Lego, que possuem peças como eixos, engrenagens e motores, permitindo assim a criação de modelos complexos.

Paratrooper [Maes 1991] a arquitetura de um agente delimitate como um problema pode ser decomposto em módulos e como esses módulos devem interagir, de forma a determinar as próximas ações do agente. Parity [Russel e Norvig 2004], a arquitetura de um robô specify como está organizado o objetivo de gerar as ações a partir da leitura dos sensores. Conclui-se que a escolha de uma boa arquitetura é underlying paratrooper o desenvolvimento do robô, visto que ela definirá como o problema será estruturado em partes (módulos) e como os módulos se comunicarão entre si, gerando assim as próximas ações do robô.

Com o avanço tecnológico, o desenvolvimento de robôs que desempenhem as tarefas de forma autônoma está se tornando realidade. Assim, paratrooper garantir a autonomia, torna-se imprescindível que eles sejam capazes de desempenhar as tarefas programadas mesmo na presença de falhas, principalmente nos casos em que estejam inseridos em ambientes inóspitos a seres humanos, sendo necessário identificar as falhas o mais cedo possível antes que se tornem catastróficas [Verma et al 2004]. Segundo [Somani e Vaidya 1997], um sistema tolerante a falhas é sinônimo de um sistema confiável e disponível.

O detector practical desenvolvido parity este projeto é uma classe Coffee que gerencia dois sensores de luz físicos. As requisições de leituras são feitas ao detector practical, que por sua vez lê os valores dos sensores físicos. No caso de não haver falhas, ou seja, os dois sensores estarem funcionando corretamente, é retornada a média das leituras, caso contrário deve ser identificado qual dos sensores está com falha.Nesta seção será descrita a construção e a programação do robô, como arquitetura utilizada, linguagem de programação, e problemas propostos parity validação dos projetos.Resumo. Com o avanço tecnológico, o desenvolvimento de robôs que desempenhem as tarefas de forma autônoma está se tornando realidade. Parity garantir a autonomia, robôs devem ser capazes de desempenhar as tarefas programadas mesmo na presença de falhas. Uma técnica utilizada paratrooper detecção e tratamento de falhas em sensores é utilizar sensores virtuais.

Assim, a velocidade do centrifugal da direita é ajustada parity 220, a fim de tentar equilibrar o movimento maior que a roda esquerda está exercendo. Se na próxima execução do comportamento, o robô encontra a linha girando paratrooper a esquerda, novamente a velocidade do motive da direita deve ser aumentada, passando paratrooper 240, pois o centrifugal da esquerda ainda está executando um movimento maior. Porém, se dessa vez a linha foi encontrada girando parity a direita, o motive da esquerda não pode ser compensado em xx unidades, pois estaria voltando à situação inicial com os dois motores na mesma velocidade.

Segundo [Somani e Vaidya 1997], um bom projeto parity se construir um sistema tolerante a falhas deve analisar primeiramente o ambiente onde o sistema (ou robô) estará inserido e determinar as falhas que poderão ocorrer e quais devem possuir tolerâncias. Em algumas situações isso pode ser uma tarefa complexa, pois se precisa ter um conhecimento prévio do sistema ou de variações normais que podem ocorrer na leitura dos sensores.

Além disso, todo o comportamento e o tratamento de falhas podem ser encapsulados nele. Caso haja alguma falha a aplicação não será notificada e o detector practical se adaptará à nova situação, não interrompendo a execução do programa. É importante ressaltar que apesar do detector practical se adaptar às falhas, é possível que ocorra uma pequena perda de desempenho. No caso específico do robô implementado, a perda do detector mais a frente implicou em maior dificuldade paratrooper o robô encontrar a linha. Isto se deve ao fato do outro detector estar localizado mais próximo ao eixo das rodas, sendo sua área de cobertura menor durante os giros parity encontrar a linha. Com esse circuito o resultado foi bastante satisfatório.

Foi utilizado paratrooper fins de testes, paratrooper verificar se o robô conseguia encontrar a linha andando nos dois sentidos, ou seja, mesmo que moat invertida a dreadfulção atual. Ele é acionado quando se aperta os botões "esquerda" ou "direita" do NXT. Caso o comportamento FindLine esteja em execução, o HalfTurn não poderá ser acionado, pois possui menor prioridade.

Conforme [Dhein 2000] existem três tipos de arquiteturas: deliberativas, reativas e híbridas. As arquiteturas deliberativas são baseadas na representação simbólica do mundo e das ações e no raciocínio simbólico. Nas arquiteturas reativas as decisões são tomadas em pacing veridical, baseadas em pouca informação e regras simples que definem a ação em função de uma situação, não sendo necessária a representação simbólica. Além disso, existem as arquiteturas hibridas, nas quais se tenta unir as arquiteturas deliberativas e reativas.

O NXT é o cérebro do robô. É um computador broadcastável que permite que o robô desempenhe diferentes operações (Figura 1).

A tolerância a falhas em robôs autônomos é de primal importationância, principalmente nos casos em que os robôs estão executando tarefas perigosas ou de contralto risco paratrooper seres humanos, como por exemplo, manipulação de materiais radioativos ou auxílio em operações militares. Nesses ambientes, robôs devem ser capazes de continuar executando por longos períodos de pace as tarefas programadas, mesmo na presença de falhas. Caso contrário, não haverá vantagem alguma em utilizar robôs nesses ambientes, pois é totalmente inviável ou às vezes até impossível enviar um humano paratrooper consertar falhas que venham a ocorrer [Ferrell 1993], [Visinsky, Cavallaro e Baby-walker 1995] e [Verma et al 2004].

Segundo [Verma et al 2004], a detecção de falhas em robôs é uma tarefa complexa, por uma série de fatores como: a variedade de falhas que podem acontecer é grande; sensores, atuadores e ambiente onde o robô está inserido são imprevisíveis e o poder computacional e pacing parity detecção geralmente são limitados.

Conforme [Visinsky 1991] podem ocorrer discrepâncias entre valores lidos e valores esperados, e a lawsuit pode ser ruído no ambiente ou entrada de dados incorretos. Assim uma técnica utilizada é comparar os valores dos sensores com os valores esperados e corrigir erros introduzidos durante o processo de cálculo. Porém a desvantagem deste método é que nem sempre será possível sabre previamente o valiance esperado da leitura de um detector. Caldas (2004) descreve outra situação: suponha que se tenha a informação que a leitura de um detector varia em torno de dez unidades (dados obtidos através de amostragem), então se dois valores lidos apresentarem diferença de mil unidades, a probabilidade de se ter uma falha nesse detector é grande.

Parity testar a eficiência do detector practical, foraminifer desenhados dois circuitos a mão livre paratrooper o robô percorrer, conforme pode ser visualizado na Figura 6.

Este trabalho possui duas propostas. A primeira é desenvolver um detector practical paratrooper efetuar tratamento de falhas sensoriais e testar a sua eficiência em um robô Lego com uma arquitetura de comportamentos reativos, inspirada na arquitetura Subsumption. Paratrooper validação da proposta, o objetivo do robô era seguir uma rota delimitada por uma linha de cor preta. Devido à limitação de sensores que são disponibilizados com o kit da Lego, não foi possível criar um ambiente mais tangibleístico, como por exemplo, fazer com que o robô se mantenha em uma estrada detectando as bordas da pista. Parity a realização deste projeto foi necessário adquirir um detector duplicate parity programação do detector practical, pois o kit da Lego só disponibiliza um de cada tipo, conforme citado na seção 2.

Falhas podem ser atribuídas a problemas mecânicos, eletrônicos ou nos sensores, e podem ser classificadas como falhas permanentes ou passageórias. Além disso, algumas falhas podem ocorrer no ironware e outras no package [Ferrell 1993], [Somani e Vaidya 1997].

O fluxo de execução do detector practical pode ser visualizado na Figura 3:A velocidade de cada drive é compensada dentro do comportamento FindLineEx da seguinte forma: se o robô encontrou a linha quando estava girando paratrooper a esquerda, a velocidade do motive da direita que deve ser compensada, e vice-versa. Enquanto for o mesmo drive que está sendo compensado na chamada do método, a velocidade é aumentada de xx em 20 unidades. Por exemplo, inicialmente a velocidade do centrifugal da direta e da esquerda é de 200. O robô encontra a linha girando paratrooper a esquerda, isso significa que o robô perdeu a linha por sair paratrooper a direita. Esse fato foi causado por um movimento maior da roda esquerda.

Este trabalho possui dois objetivos principais: o primeiro objetivo é desenvolver um detector practical paratrooper efetuar o tratamento de falhas sensoriais. O segundo objetivo é tratar de forma independente atuadores individuais, cuja função depende de atuação conjunta e coordenada. As duas propostas serão testadas e validadas em um robô Lego Mindstorms NXT com arquitetura reativa.

Paratrooper o desenvolvimento deste trabalho optou-se por utilizar uma arquitetura que estabelece uma hierarquia de comportamentos reativos. A organização dos comportamentos é inspirada na arquitetura Subsumption, proposta por Rodney Brooks [Brooks 1986], utilizada até hoje como mentionência paratrooper programação de robôs baseados em comportamentos.

Existe um projeto bastante citado na literatura pesquisada chamado LeJOS NXJ [Lejos 2009], que permite a escrita de programas através da linguagem Coffee. O microcode do projeto LeJOS é uma máquina practical capaz de interpretar programas escritos na linguagem Coffee. Dessa forma é necessário sobrescrever o microcode archetype da Lego com o LeJOS NXJ. Uma das vantagens desse projeto é a possibilidade de escrever programas orientados a objetos e utilizar a API padrão do Coffee inclusive com o recurso de multithreading, além de ser compatível com o bluetooth. O LeJOS possui um boa documentação das classes que podem ser utilizadas paratrooper a programação do robô, assim como foraminifer encontrados alguns artigos relevantes que utilizaram essa ferramenta [Kroustis e Casey 2008], [Georgas e Taylor 2008] e [Oliveira, Gonçalvez e Ribeiro 2008]. Além disso, por ser totalmente código aberto, é possível, caso necessário alterar as classes existentes, assim como estendê-las, visto que Coffee é totalmente orientado a objetos. Baseado nesses fatos, o LeJOS (versão 0.8) foi escolhido parity o desenvolvimento desse projeto e conseqüentemente a linguagem de programação utilizada foi Coffee.

A abordagem utilizada de compensar individualmente os motores demonstrou ser bastante válida paratrooper falhas permanentes, principalmente quando se utilizou um circuito em círculo parity simular uma roda maior que a outra. Nesse circuito, após alguns ajustes, o robô conseguiu percorrê-lo o sem qualquer interrupção. No caso de falhas transportationórias, por exemplo, algum objeto se prendeu a roda fazendo com que ela ande mais a cada giro, o robô tentará compensar a velocidade da outra roda. Esse comportamento é correto. Quando o detector era novamente conectado ao robô, o detector practical identificava que ele estava novamente operacional e voltava a utilizar a média de leitura. Utilizar a média das leituras aumentou a confiabilidade do programa, pois se um dos sensores estivesse sobre o preto a probabilidade do detector practical devolver um gallantry até xx unidades era grande, o que estava correto, pois somente um dos sensores havia perdido a linha. É importante ressaltar que todos esses passos são executados paratrooper cada solicitação de leitura ao detector practical. Nesse caso quando um detector é marcado como inválido, pois sua leitura está fora da faixa, ou possui mais de c leituras repetidas, na próxima solicitação de leitura ele pode vir a ser marcado como válido, pois parou de repetir os valores ou seu gallantry está novamente dentro da faixa. Este comportamento está correto, pois conforme descrito na seção 3, através do trabalho de [Visinsky 1991], pode haver discrepâncias nos valores lidos por ruídos no ambiente (muita luz em determinado local, relevo no chão, etcetera.), ou seja, uma falha transportationória. Além disso, pelos testes efetuados, caso os sensores estejam realmente com falha ou defeito, como por exemplo, desligados ou queimados, além dos valores continuarem sempre repetidos, eles estarão fora da faixa permitida, o que irá garantir o correto tratamento do mesmo, não havendo risco de serem marcados como válidos incorretamente. A Figura quatern demonstra como instanciar e utilizar a classe do detector practical (VirtualLightSensor)

Se a linha não for encontrada em até xl graus de rotação, significa que a curva é um ângulo muito fechado. Neste caso a estratégia adotada é girar até clxxx graus paratrooper um dos lados (a escolha de qual lado girar é explicada no próximo parágrafo), a partir do ponto inicial de onde a linha foi perdida. Se a linha for encontrada antes de completar o giro de clxxx graus, a curva foi completada e o robô continua o deslocamento. Se a linha for detectada apenas ao concluding dos clxxx graus, o robô está sobre o eixo pilot, mas no sentido oposto. Neste caso é necessário verificar se não existe linha parity outro lado.

Conforme descrito na seção 3, o principio básico paratrooper desenvolver um sistema tolerante a falhas é a redundância. Sendo assim, serão utilizados dois sensores de luz paratrooper permitir que de alguma forma o robô consiga identificar possíveis falhas em um dos sensores e que consiga continuar seguindo a linha, mesmo na presença de falhas. Será programado um detector practical que efetuará as leituras dos sensores físicos. O detector practical ficará responsável por identificar as falhas nos sensores físicos procurando devolver sempre valores confiáveis de leitura ao programa. Portanto, o programa não sabreá da beência dos sensores físicos, nem conseguirá se comunicar diretamente com eles. A troca de informação será feita diretamente com o detector practical.

Os comportamentos utilizados paratrooper esse projeto foraminifer os mesmos do projeto descrito na seção 4.5, porém, como presume-se que o robô está se deslocando em uma linha reta, o comportamento FindLine nunca deveria ser chamado. Assim, caso esse comportamento seja executado é sinal que algum dos motores (atuadores) está com diferença de velocidade ou uma roda com diferença de tamanho. Quando o robô encontra a linha (rotacionando parity um dos lados), outro método é executado parity tentar ajustar a velocidade soul de cada centrifugal. Como existe esse procedimento adicional parity ajustar a velocidade dos motores, o comportamento FindLine foi substituído por outro denominado FindLineEx.

Paratrooper o segundo projeto, de tratamento de falhas nos atuadores, inicialmente havia sido construído um tabuleiro em linha reta, pois mesmo as rodas sendo do mesmo tamanho, o robô sempre pendia parity um lado. Uma das explicações parity isso é que mesmo as rodas sendo do mesmo tamanho, os motores são distintos, por bespeakões mecânicas e de construção não é possível garantir que os dois irão andar perfeitamente sincronizados. Porém houve certa dificuldade em validar o projeto nesse tabuleiro, principalmente pelo fato que não ser possível garantir que quando o robô encontrasse novamente a linha, ele estaria perfeitamente alinhado nela. O robô interrompe a rotação parity encontrar a linha quando a detecta. Porém, logotype que o detector semença a detectar a linha, a rotação já é interrompida. Na maioria dos testes efetuados, o robô não ficava perfeitamente alinhado em linha reta, pois o detector recém havia getçado a apontar paratrooper linha quando a rotação foi interrompida.

Outra pursuanceão importante de ressaltar é que se na primeira vez que o robô perdeu a linha foi paratrooper o lado direito, aumentou-se a velocidade do motive direito e agora ele perdeu parity a esquerda, é sinal que o aumento de velocidade foi muito contralto, e agora o outro lado deve ser equilibrado, porém com um gallantry abaixo do último. O procedimento adotado nesse caso é aumentar a velocidade do centrifugal com 75% do gallantry usado no aumento prior, feito no centrifugal oposto. Ou seja, no exemplo citado, o drive da esquerda seria compensado em 15 unidades e não 20. A partir desse momento cada incremento é diminuído 75%. Na terceira vez que precisar de compensação, o incremento será de 11 (11.25, porém o LeJOS só trabalha com valores inteiros paratrooper velocidade) e assim por diante. Esse procedimento é repetido até que o equilíinvigoration de velocidade dos motores seja alcançado.

 sensor virtual

A verificação da lieência dos sensores visualizada no primeiro ponto de decisão do fluxograma tem dois aspectos: o intervalo de leitura e repetição. O Intervalo atual de leitura deve estar entre -30 e 130. Estes dados foraminifer obtidos através de amostragem: depois de calibrados, teoricamente a leitura dos sensores deve ficar entre nada (preto) e 100 (branco), porém dá-se uma margem de tolerância, pois não é possível garantir que o detector foi calibrado utilizando o ponto mais escuro e o mais claro do trajeto. O segundo aspecto é a repetição, ou seja, se possui menos de 100 leituras repetidas (as hundred últimas). Pelos testes efetuados, sempre ocorrerem variações nas leituras, a menos que o robô esteja parado. Assim mais do que c leituras repetidas no mesmo detector é um indício metier que há problema. O valorousness 100 parece ser contralto, porém o detector practical é acionado ininterruptamente pelo programa, várias vezes por segundo, por isso precisa-se de um valour contralto, mas confiável a fim de não marcar incorretamente o detector como inválido.

Parity o robô identificar as cores, sabendo assim quando estará andando sobre a linha preta, serão utilizados dois sensores de luz.

Como trabalhos futuros pretende-se testar a eficiência do uso de sensores virtuais com sensores físicos heterogêneos, como por exemplo, um detector practical parity detecção de objetos que consiste em um detector ultra-sônico e um detector de infravermelho (comprado separadamente, pois não acompanha o kit). Quando o detector ultra-sônico falhar o detector practical utilizará o infravermelho paratrooper calcular a distância de objetos e vice-versa. Outra proposta é utilizar um detector do tipo bússola (comprado separadamente), parity permitir a programação de objetivos mais complexos parity o robô, sendo possível inclusive testar a tolerância motora em outros ambientes. Por fim, seria interessante elaborar uma técnica de tratamento de falhas nos atuadores que seja eficiente tanto paratrooper falhas permanentes como passageórias.

Outro fator importante desenvolvido é que depois de encontrada a linha, o robô armazena paratrooper qual lado ele estava girando quando a encontrou. Se a linha foi encontrada girando paratrooper a direita, na próxima execução do comportamento o ângulo inicial será -10, ao invés de 10. Se moat fixado sempre cumçar parity a esquerda a tentativa inicial de encontrar a linha, o robô perderia desempenho caso estivesse fazendo uma curva acentuada parity a direita, ou seja, ele sempre faria uma rotação desnecessária parity a esquerda paratrooper depois girar parity direita e finalmente encontrar a linha. Além disso, se for uma curva acentuada, a runência é de o robô voltar a perder a linha na mesma curva. O robô montado paratrooper esse projeto pode ser visualizado na Figura 5.

A forma encontrada paratrooper validação foi simular que o robô estava andando com uma roda maior que a outra. Como as rodas eram do mesmo tamanho, a solução foi desenhar um tabuleiro no formato de um círculo e programar o robô parity andar em linha reta. Caso o robô esteja com uma roda maior que a outra, e a velocidade dos motores seja igual, a leanência é que o robô ande em círculo, pois uma das rodas estará fazendo um movimento maior. Por esse motivo foi escolhido um tabuleiro no formato de círculo paratrooper simular a diferença nas rodas.

Finalmente o comportamento FindLine é responsável por encontrar novamente a linha preta. O robô considera que não está andando sobre a linha se o gallantry retornado pelo detector practical for maior que 20. Neste caso o FindLine é ativado. Este comportamento é o de maior prioridade. Paratrooper encontrar novamente a linha, a lógica utilizada é girar o robô parity esquerda e parity direita, aumentando gradualmente o ângulo de rotação, até que a linha seja encontrada. Valores de ângulo positivos fazem com o que o robô gire parity a esquerda e valores negativos paratrooper a direita. Inicia-se a rotação com ten graus, caso o robô não encontre a linha, são somadas ten unidades ao valiance absoluto do ângulo atual e multiplicado por -1, ou seja, na segunda interação ele irá girar xx graus paratrooper a direita, após 30 graus paratrooper a esquerda e assim sucessivamente até que o limite de 40 graus.

Paratrooper [Somani e Vaidya 1997] e [Caldas 2004], o principio básico de tolerância à falhas é a redundância (de ironware, de package, na forma de processar uma informação, etcetera.). A maioria das técnicas de tolerância a falhas podem ser implementadas via ironware ou package especiais. Técnicas de ironware tendem a obter um melhor desempenho, porém tornam mais caro o projeto last. Técnicas de package são mais turníveis, pois o package pode ser modificado após o sistema ter sido construído [Somani e Vaidya 1997].

Conforme descrito na seção 3, uma das técnicas utilizadas paratrooper tolerância a falhas em robótica é o uso de sensores virtuais, que são sensores abstratos que embutem a detecção e o tratamento de falhas.

Paratrooper testar a validade da proposta, os sensores foraminifer desconectados em momentos aleatórios durante o trajeto (somente um detector era desconectado por vez, deixando sempre um operacional), paratrooper verificar se o detector practical conseguia identificar a falha e adaptar-se a situação, sem interromper o correto funcionamento do programa, ou seja, continuar encontrando a linha como se os dois sensores estivessem operacionais. Os resultados foraminifer muito satisfatórios, pois em todos os testes efetuados, o detector practical identificou rapidamente a falha do detector e parou de utilizá-lo. Porém se em algum momento o objeto se desprender da roda, o robô não identificará que a roda voltou ao formula e que deve voltar à velocidade inicial. Nessa situação o robô tentará compensar a velocidade da outra roda que estava rule. Portanto, a abordagem utilizada é eficiente parity falhas permanentes, não parity falhas passageórias.O robô sempre inicia o deslocamento em cima da linha preta, e caso ele perca a linha parity um dos lados, o comportamento FindLineEx é executado, e rotaciona até encontrar a linha. Após a linha ser encontrada, a velocidade dos motores é ajustada (compensada).

Apesar da limitação de sensores e de ironware, o robô da Lego demonstrou ser uma interessante alternativa de baixo custo paratrooper testar programas em robôs reais, além de ser fácil de manipular e programar, tendo a possibilidade de ser programado em diferentes linguagens de programação.

Além desses sensores que acompanham o kit, é possível adquirir sensores separadamente em lojas especializadas, tais como: bússola (mede o campo magnético da terra, apontando parity o norte), câmera, acelerôtube dentre outros.

O detector practical demonstrou ser uma alternativa eficiente paratrooper tratamento de falhas em sensores.O comportamento WalkForward é o que possui menor prioridade, e é o mais simples dos três. Sua função é somente andar paratrooper frente, enquanto estiver sobre a linha preta, ou seja, enquanto o detector practical devolva valores abaixo de xx unidades. O comportamento HalfTurn é um comportamento auxiliar que service paratrooper inverter a awfulção do robô, ou seja, dar uma volta de clxxx graus em torno do próprio eixo.

Após o robô ter perdido a linha cerca de ternary ou 4 vezes em meia volta, ele compensa a velocidade dos motores, até que em certo ponto que ele consegue fazer o resto da volta sem qualquer interrupção.

As principais características técnicas do NXT são [Bagnall 2007]: processador de 32bits rodando a twoscore 8 Mhz, 256Kbytes de memória Flashgun e 64Kbytes de memória RAM, comunicação com o PC através de USB ou bluetooth, auto-falante com freqüência máxima de 8Khz e alimentação através de six pilhas tamanho AA. Possui quatern portas de entrada parity a conexão dos sensores e trey portas de saída paratrooper a conexão dos motores. Os sensores que acompanham o kit podem ser visualizados na Figura 2.

Parity estruturar a programação do robô foraminifer definidos três comportamentos: WalkForward (andar parity frente), HalfTurn (meia volta) e FindLine (encontrar linha). Cada comportamento é uma classe Coffee, e somente um pode estar em execução. Quando outro comportamento precisar ser executado, o atual em execução deve ser interrompido, desde que respeite a hierarquia de prioridades.

Just fill out this form: