Categorias
Informações

Motor de Passo

Motor de Passo

  • O que é?

Motores são definidos como atuadores, ou seja, eles convertem algum tipo de energia em energia mecânica. Nos atuadores o tipo de energia a ser convertida pode ser gerada por força de um  líquido (como nas usinas hidrelétricas) , do ar (usado em cilindros pneumáticos) ou da eletricidade (usada nos motores DC ou AC).

O princípio básico de funcionamento dos motores envolve o campo magnético gerado pela passagem de corrente elétrica em bobinas e a atração ou repulsão de um ímã a esse campo que faz o eixo girar. O nome do motor de passo  faz referência ao modo como esse giro se dá. Esse movimento é feito de modo discreto com um ângulo pré definido pelo hardware, que também define qual o tipo de motor de passo.

  • Tipos de motores de passo

O motor de passo utiliza corrente contínua em seu funcionamento e é composto por grupos de espiras, chamados de fases, de acordo com a passagem de corrente nas fases o motor gira um passo. Em seu eixo o motor pode ter uma ímã permanente ou não de acordo com o tipo e pode haver dentes na bobina e no eixo também. Os tipos de motores são: ímã permanente, relutância variável e híbrido.

  • Ímã permanente.

O motor de ímã permanente possui um ímã em seu eixo e de acordo com a passagem de corrente nas bobinas do estator o eixo gira para se alinhar o norte do ímã com o sul do campo e o sul do ímã com o norte do campo, essa rotação se dá a cada mudança de conjunto de bobinas energizadas e ela acontece em passos que são dados em ângulos.

  • Relutância variável.

O motor de relutância variável possui um eixo feito de ferro que possui dentes. No estator também se encontra grupos de bobinas que de acordo com a passagem de corrente gera campos. Os números de dentes e de bobinas são diferentes e não alinhados. De acordo com o campo gerado o eixo gira para alinhar o dente mais próximo ao campo para que haja passagem de campo magnético pelo eixo, assim ao se mudar o grupo de bobina energizado o eixo gira novamente para um novo alinhamento. Esse giro é feito também em passos e o ângulo rodado é de acordo com o número de bobinas e de dentes, sendo que a fórmula para se achar o ângulo é:

                                                         ϴ = [ 360 x (Nd -Nb) ] / [ Nd x Nb ]

Onde Nd é o número de dentes no eixo e Nb o número de bobinas no estator.

  • Híbrido.

O motor híbrido é uma mistura dos dois anteriores. Ele possui um eixo com dentes que são ímãs e no estator as bobinas também possui dentes. De acordo com a ativação de um grupo de bobina o eixo roda para que os dentes mais próximos se alinhem. Esse motor também possui o ângulo dos passos de acordo com o número de dentes do eixo e das bobinas.

  • Quais suas desvantagens?

Uma das desvantagens do motor de passo em relação aos motores DC é que mesmo não trabalhando os motores consomem correntes, o que acaba fazendo esse componente consumir mais energia.

Um dos principais pontos negativos do motor de passo é a falta de feedback em relação a posição. Por mais que o motor ande em passos conhecidos não há um sensor que retorna a posição como o servo motor. Porém, é possível resolver isso no software contando os números de passos dados.

  • Quais suas vantagens?

A principal vantagem desse motor é o fato dele girar em passos conhecidos, assim em um projeto como uma CNC que deve ter seu movimento com medidas precisas é possível movimentar a ferramenta uma distância requerida dando um número certo de passos. Além dessa precisão o fato dele andar em ângulos faz com que possa ter um controle da velocidade de rotação.

Outro ponto diferencial desse motor é que ele tem um torque maior que o motor DC em baixas velocidades o que possibilita mais a precisão do motor.

  • Aplicações
  • Câmeras digitais para as funções de foco e zoom.
  • Impressoras e scanners.
  • Controle da máquina de CNC.
  • Controle de posição de telescópio.
  • Aparelhos respiratórios.
  • Em laboratórios químicos para misturas de substâncias.
  • Em novos equipamentos de segurança.

Categorias
Informações

Inteligência Artificial nos jogos eletrônicos

Inteligência Artificial nos jogos eletrônicos

                Quem nunca jogou aquela partida de FPS ou até mesmo pinball contra o computador? Há anos os jogos vêm se tornando “mais inteligentes”, devido ao desenvolvimento da inteligência artificial, que ganham cada vez mais espaço. Um caso famoso é o do robô da IBM que venceu uma partida de xadrez contra o campeão mundial, Garry Kasparov, na década de 90. Mas como as inteligências artificiais aprendem a jogar?

                   Com um trabalho minucioso, meses (ou anos) são dedicados para para a criação de um jogo eletrônico. A partir de uma boa ideia, equipes de designers gráficos, animadores e músicos são contratados para a realização da parte gráfica do jogo. Concomitantemente, entram em cena para o desenvolvimento da parte lógica do jogo, equipes de desenvolvedores e programadores. Essa parte lógica do jogo, que usufrui da Inteligência artificial,  é responsável por deixar o jogo mais realista e desafiante.

Como assim mais realista e desafiante?

               Sabe aquele personagem que se mexe por conta própria, que ataca de várias maneiras diferentes? Aí que a inteligência artificial está presente. Formalmente falando, a inteligência artificial é usada para gerar comportamentos responsivos, adaptativos ou inteligentes principalmente em personagens não-jogadores (famosos NPCs), semelhantes à inteligência humana.

             Nos games, a IA trabalha de certa forma limitada de acordo com os comandos desenvolvidos por seus programadores. Quando uma inteligência artificial é criada, ela recebe linhas de códigos que podem ser descritas grosseiramente como uma ação X uma reação.

                Podemos citar o exemplo de Dark Souls, que os personagens não jogáveis (NPC) reagem de acordo com o progresso do jogador. Por exemplo, a forma de você atacar, desviar são cogitadas no jogo, fazendo com que este aprenda suas estratégias, de acordo com as possibilidades internas do game. Além disso, vale citar que a Inteligência artificial está presente, também, em personagens no jogo que mudam de script a medida que você avança no jogo, isto é, há diferentes possibilidades de caminhos e finais no jogo. Pode-se citar, neste caso, o famoso jogo GTA V.  As técnicas usadas tipicamente recorrem a métodos existentes no campo da inteligência artificial.

Métodos no campo da IA em jogos?

Visto as diversas modalidades de jogos existentes atualmente, tem-se a necessidade de utilizar métodos específicos para situações específicas, isto é, a inteligência artificial utilizada em um jogo de FPS possui algoritmos diferentes para a IA utilizada em um jogo de esportes, por exemplo. A seguir, eis algumas técnicas listadas pelo seção “aiforgames” do site WordPress:

 

FPS (First Person Shooter)

As técnicas mais utilizas nos jogos FPS são as de máquinas de estado finita (FSM – Finite State Machine) e a Lógica Fuzzy.

Na máquina de estados, o personagem está configurado com um série de regras e possui regras de transição para ver se o personagem deve alterar seu estado inicial, como por exemplo, se ele viu um oponente e se vale a pena ir atrás dele.

Adicionalmente existe dois tipos de FSM, as do tipo determinístico (AFD) e não-determinístico (AFN). No determinístico, para cada estado há exatamente uma transição para cada entrada possível, e no não-determinístico, pode haver nenhuma, uma ou mais. A desvaNtagem da FSM são os comportamentos repetitivos (“quanto mais complexo for o ambiente, aumenta o número de estados e transições na qual o FSM terá de prever”).

Já a Lógica Fuzzy ou Lógica Difusa permite representar valores além da lógica clássica, representa somente por 0 (FALSO) e 1 (VERDADEIRO), permitindo representar vários eventos não contáveis (ou imprecisos), como por exemplo 0,5 (TALVEZ).

Uma possibilidade é utilizar a lógica Fuzzy e a FSM, criando as Fuzzy FSMs (FuSMs), criando assim máquina de estado finitas com lógica Fuzzy, dando mais “inteligência” para os oponentes controlados pela máquina.

Jogos de Corrida

Esse gênero de jogo é outro dentre os mais jogados no mundo. Existem franquias para os mais diversos gostos, como os da franquia Need For Speed, que são do tipo arcade e para jogadores mais casuais, e também os da franquia Gran Turismo, em que o foco é o simulação, onde é possível controlar a troca de marchas, o tipo de pneu para determinada clima ou pista, e até a economia de gasolina, para que não acabe durante a corrida.

Uma das técnicas que podem ser utilizadas é a de algoritmos genéticos (AG). Um algoritmo genético é uma classe de algoritmo evolutivos que usam técnicas inspiradas pela biologia evolutiva como hereditariedade, mutação, seleção natural, e recombinação.

Em um jogo de corrida, a aplicação desse tipo de algoritmo é útil para criar vários tipo de carros, baseando-se em um deles. Isso diminui o tempo gasto para criação e aumenta a variedade de elementos dentro do jogo.

Jogos de Futebol

Os jogos de futebol são um dos tipos mais populares no Brasil, afinal, é o esporte mais adorado no país.

Uma das técnicas aplicadas em jogos de futebol é a de redes neurais. Elas são redes computadorizadas onde a sua estrutura é similar a um cérebro humano, tendo nós de rede (neurônios) e conexões entre os nós. A vantagem na rede neural é que ela pode aprender e armazenar informações para uso posterior. Num jogo de futebol, a aplicação de redes neurais pode ser utilizada para que jogadores de futebol aprendam a interceptar a bola durante uma partida.

Outra técnica é a Fuzzy, onde já comentou-se sobre seu uso nos jogos FPS. Ela pode ser aplicada por exemplo para definir se durante uma cobrança de pênalti o chute foi forte ou não.

Há limitação para inteligência artificial em jogos?

            Como jogos eletrônicos são feitos com fins interativos, a inteligência artificial é limitada, pois uma IA avançada torna a dificuldade do jogo tão extrema que o jogador não consegue finalizar, ou, simplesmente, passar de fase.

               Como explica o site “tecnosense”: “o mundo dos games sempre será limitado. Se você irá completar uma missão, o mundo será voltado para essa missão. Se você está numa sala rodeado de inimigos, o processamento do mundo será resumido à sala e quem estiver nela.”

Concluindo…

A cada dia, a Inteligência artificial está mais presente no cotidiano. O universo dos jogos eletrônicos é apenas um destes, porém, é bem visível e de “fácil compreensão” a aplicação da inteligência artificial nessa indústria. Infelizmente, no Brasil, esse ramo é pouco explorado, embora haja potencial para a criação de jogos, há a falta de investimentos.  

Categorias
Informações

Rede Neural Artificial

Rede Neural Artificial

 

    Dentro da área da inteligência artificial existe o subtópico Deep Learning. Esse subtópico é composto por Redes Neurais Artificiais (RNA). Esse assunto já foi tratado no blog no post Inteligência Artificial. Nele é explicado termos como Machine Learning e Deep Learning. Aqui será um aprofundamento do funcionamento da RNA.

Do que é feito a RNA?

    A Rede Neural Artificial é composta por técnicas computacionais que tem como inspiração a rede neural humana, para isso ela utiliza da matemática. Assim como a passagem de informação no homem acontece após o neurônio atingir um certo limiar de excitação as redes neurais possuem um valor limiar (threshold) que define qual será a resposta passada por uma unidade da RNA.

    Essas unidades são chamadas de unidade de processamento. Cada uma delas fazem operações com os dados que recebem e estão ligadas entre si por conexões que possuem pesos que podem ser mudados ao longo do processamento de dados. Para cada dado processado em uma unidade é verificado o valor produzido e comparado com o valor threshold e a saída resultante depende se o valor gerado é menor ou maior.

Como são organizadas?

    As unidades da RNA estão organizadas em camadas. Normalmente essas camadas são divididas em: camada de entrada, que são as unidades que recebem o dado a ser analisado, camadas intermediárias, que possuem o maior número de unidades e a maior parte do processamento, e camada de saída, que apresentam o resultado final da RNA.  

Tipos de aprendizagem.

    Essas interações entre camadas que fazem a RNA ser inteligente e aprender diante de um grande volume de dado. O termo aprender aqui se difere do modo de aprender dos seres humanos. Para as redes neurais, aprender é alterar os pesos iniciais através de estímulos externos. Essa aprendizagem realizada pode ser divida em aprendizagem supervisionada, não supervisionada e por esforço. Na primeira, o resultado gerado é comparado com o valor esperado e assim os pesos modificados. Na segunda, o aprendizado leva em conta apenas os estímulos recebidos e aprende a categorizá-los. No último, a rede leva em conta algum critério numérico fornecido de tempos em tempos.

    Toda essa estrutura básica apresentada é organizada de acordo com cada modelo de rede neural artificial. Existem modelos como rede Hopfield, perceptrons, redes lineares, mapas de Kohonen, entre outros. Há muitas monografias e artigos que explora cada rede detalhadamente na internet, pois inteligência artificial está em vários locais, como: redes sociais, sites de vendas, carros autônomos, entre outros.