Jeffrey Cross
Jeffrey Cross

Robótica iniciante: Entendendo como funcionam os sensores simples

Para que um robô seja realmente considerado um robô, ele deve ser capaz de detectar e afetar seu ambiente. É por isso que os sensores são tão cruciais para a robótica, e entender como usá-los para tornar um robô inteligente é vital para qualquer robô robótico. Recentemente lancei um Kickstarter e estamos realmente distribuindo sensores gratuitos com todos os kits que vendemos, por isso, confira aqui antes que ele termine!

Neste Skill Builder eu conduzirei você através de uma operação de robô chamada sense> think> act. É uma operação amplamente usada em robótica e é um excelente lugar para começar a entender como programar um robô. Vamos mergulhar em…

Escolhendo um sensor

Há tantos sensores disponíveis quanto há coisas físicas para perceber, mas vamos usar o sensor de Distância Ultrassônica HC-SR04 porque ele é barato, simples e amplamente usado em robótica (também tem uma biblioteca Arduino muito conveniente).

Definindo o modelo do robô

Esse sensor pode detectar distâncias, então vamos começar com um robô simples que evita colisões. Este robô pode se mover para frente e para trás e girar no mesmo lugar em qualquer direção. Na frente do robô está o sensor de distância. Agora que definimos nosso robô, vamos começar a analisar como fazer isso funcionar.

O que é sentido, pensar, agir?

O Sense, Think, Act é um loop de decisão que pode ser usado para resolver muitos problemas robóticos, e é incrivelmente simples. Nesse caso, o robô deve perceber se há algum obstáculo na frente dele. Deve então pensar se pode avançar ou se deve virar ou inverter, após o que agirá nessa decisão. Essa mesma lógica pode se aplicar a qualquer robô, com qualquer sensor para praticamente qualquer comportamento.

Para realmente transformar isso em código que podemos escrever para controlar o robô, precisamos ser mais específicos. Vamos criar um comportamento simples para o robô da seguinte forma ...

  1. O robô detecta se algum obstáculo estiver a menos de 3 cm da frente.
  2. Se não houver obstáculo, ele avança.
  3. Se houver um obstáculo, ele se move para trás.

Isso seria muito fácil de traduzir em código, no entanto, você pode perceber que isso resultaria no robô ficar "preso" oscilando quando chegou a uma parede. Ele iria para frente até que detectasse a parede, depois voltasse para trás até que não o fizesse, depois para a frente novamente e assim por diante. Vamos modificar o comportamento da seguinte maneira.

  1. O robô detecta se algum obstáculo estiver a menos de 3 cm da frente.
  2. Se não houver obstáculo, ele avança.
  3. Se houver um obstáculo, vire à esquerda e retorne ao passo 1.

Isso continuará até que o robô encontre uma direção que não tenha parede dentro de 3cm.

Agora temos um modelo de ação, pensamento e ação que pode realmente ajudar nosso robô a evitar obstáculos. Não é um modelo particularmente sofisticado e poderíamos adicionar muita complexidade para melhorar a prevenção de obstáculos.

Mesmo com um robô simples, senso muito complexo, pense, modelos de ato podem ser projetados para criar comportamentos muito inteligentes. Essa é a essência da robótica - a inteligência no software!

Nosso comportamento atual é um pouco ineficiente porque o robô tem que virar à esquerda três vezes, apenas para virar à direita. Vamos modificar nosso comportamento da seguinte maneira, como um quarto passo para seguir as três etapas acima:

4. Se houver um obstáculo, vire à esquerda e retorne ao passo 1.

  1. O robô detecta se algum obstáculo estiver a menos de 3 cm da frente.
  2. Se não houver obstáculo, ele avança.
  3. Se houver um obstáculo, ele se vira à esquerda e percebe novamente.
  4. Se não houver nenhum obstáculo, ele se move para frente e o loop é redefinido.
  5. Se houver um obstáculo, ele gira para a direita e percebe novamente.
  6. Se não houver nenhum obstáculo, ele se move para frente e o loop é redefinido.
  7. Se houver um obstáculo, o robô continua girando para a direita até que não haja nenhum obstáculo.

Agora, nosso robô verificará as duas direções para ver se há uma parede, o que significa que o robô se moverá com mais eficiência. Observe como até o comportamento simples está começando a ficar mais complexo para ilustrar, no entanto, se pensarmos nesse comportamento como uma série de loops Sense, Think, Act, então fica muito mais fácil de entender!

E aí você tem isso. Pegamos um caso muito simples de comportamento Sense, Think, Act e o transformamos em um programa de prevenção de obstáculos de trabalho. Seria uma tarefa muito simples traduzir esse comportamento em código e começar a brincar com a robótica! E, claro, você pode adicionar mais sensores de distância e até mesmo diferentes tipos de sensores para tornar o comportamento ainda mais sofisticado. Apenas lembre-se de dividir em Sense, Think, Act e você será capaz de lidar com isso. E, claro, se você estiver procurando por um kit de robô que inclua toneladas de sensores gratuitos, confira nosso Kickstarter!

Ação

Deixar Um Comentário