LusoRobótica - Robótica em Português

Robótica => Projectos Colectivos => Projectos de robótica => Hardware => Tópico iniciado por: TigPT em 13 de Junho de 2009, 15:16

Título: RobotLineFollower
Enviado por: TigPT em 13 de Junho de 2009, 15:16
Há dias vi ai um vídeo que me deixou a pensar... vou então começar um seguidor de linhas à seria... :P

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh5.ggpht.com%2F_Lt0JkvwRIwE%2FSjOy8HOJz-I%2FAAAAAAAAAek%2Fx1dx6U8gPOs%2Fs1024%2Fbaixo.png&hash=1bdb95e37243b7d05c97c9527007d0d6d4a0fa3a)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh5.ggpht.com%2F_Lt0JkvwRIwE%2FSjOy8OcNnPI%2FAAAAAAAAAeo%2FNUfyg4jQ3d4%2Fs800%2Fcima.png&hash=0da19806bc5e7019eb5b303729476681a87e0cd2)

(estas imagens são o primeiro sketch e este projecto não terá que se manter fiel a elas)
http://picasaweb.google.pt/tig.rodrigues/LineFollower?feat=directlink (http://picasaweb.google.pt/tig.rodrigues/LineFollower?feat=directlink)

Basicamente o Servo contrabalança o peso da pcb e mantém-na equilibrada sobre um eixo. O seguidor de linhas é totalmente autónomo e mantém-se em cima da linha (preta ou branca) corrigindo o servo para nunca a perder. O sensor sharp evita colidir com objectos e dá uso ao 6 analogIn do Atmega168 que vai ser o seu core. Comunicam por paralelo, serial, e spi (cada um usa o protocolo que mais lhe convêm).

O seguidor de linhas também regista o caminho percorrido para poder suavizar as curvas e ir aprendendo.

Criticas? Sugestões? :P


(todos os conteúdos deste fórum do qual este post faz parte integrante estão protegidos por CC (BY-NC-SA) e pela marca LusoRobótica)
Título: Re:RobotLineFollower
Enviado por: TigPT em 13 de Junho de 2009, 15:16
(Post reservado para o autor)
Título: Re:RobotLineFollower
Enviado por: TigPT em 13 de Junho de 2009, 15:16
(Post reservado para o autor)
Título: Re:RobotLineFollower
Enviado por: microbyte em 13 de Junho de 2009, 19:22
Também tenho aqui material para fazer um seguidor de linhas

Dentro de um mês, vou fazer o meu :) Depois posto.
Título: Re:RobotLineFollower
Enviado por: PDI em 14 de Junho de 2009, 01:43
To aqui para acompanhar.
Título: Re:RobotLineFollower
Enviado por: ricardo-reis em 14 de Junho de 2009, 16:23
oh sr tiago, n percebo uma coisa: aquele servo faz mesmo o k? a ideia dum segue-linhas que 'aprende' os melhores caminhos parece-me bem.. lembra-me uma apresentação daquele segue-linhas da pololu (o mais rápido).. :)
Título: Re:RobotLineFollower
Enviado por: TigPT em 14 de Junho de 2009, 16:30
O 3Pi... Mas o servo faz com que o sensor seja independente das rodas e se mantenha sempre centrado no meio da linha, assim o sensor consegue nunca perder a linha de vista, e até aumentar a área de procura da linha quando não a encontra ao ficar a fazer "S"s com o servo.

O sensor fica preso ao robot pelo eixo do servo permitindo-o rodar sobre esse eixo.
Título: Re:RobotLineFollower
Enviado por: ricardo-reis em 14 de Junho de 2009, 17:27
hmmm.. tão deixa ver se percebi.. a placa dos sensores é independente da dos servos/motores de locomoção? tipo.. só são unidas pelo servo da placa dos sensores?
Título: Re:RobotLineFollower
Enviado por: TigPT em 14 de Junho de 2009, 17:29
Exacto, no fundo adicionas mais um grau de liberdade para o tracking da pista, podendo assim aumentar a velocidade pois o erro do movimento das rodas é corrigido pelo sensor de pista. Que achas?
Título: Re:RobotLineFollower
Enviado por: ricardo-reis em 14 de Junho de 2009, 17:41
n sei até k ponto será mais rápido (tou a comparar com o 3pi) a ler dados da linha e a acertar a posição pela placa dos sensores e n pela locomoção.. mas por exemplo kd por algum motivo perde a linha, ganha a liberdade de a procurar à volta e n se limita a andar à roda, como o 3pi.. mas acho que isso é uma questão de programação e n de lhe acrescentares um servo para mover a placa dos sensores.. (que acho k n lhe dá um grau extra de liberdade)

(desculpa se foi confuso mas n escrevi isto tudo seguido e acho k me perdi um bocado do k tava a dizer..)
Título: Re:RobotLineFollower
Enviado por: TigPT em 14 de Junho de 2009, 17:45
Uma das razões do 3pi para o desempenho que tem, é o reduzido tamanho e peso, que lhe permite vencer inercia facilmente. Imagina-o com 10 vezes o tamanho e peso, que é o que um robot normal tem.
Título: Re:RobotLineFollower
Enviado por: jp_ em 15 de Junho de 2009, 11:05
Deixa-me adivinhar, foi este vídeo que te pôs a pensar???

http://lusorobotica.com/index.php/topic,953.msg8797.html#msg8797 (http://lusorobotica.com/index.php/topic,953.msg8797.html#msg8797)

http://www.youtube.com/watch?v=TuTndWq28y8&eurl=http%3A%2F%2Flusorobotica.com%2Findex.php%2Ftopic%2C953.msg8797.html&feature=player_embedded

estou a tentar fazer o mesmo...

olha TigPT, qual é o prog. que usas para os desenhos?

jp_

  
Título: Re:RobotLineFollower
Enviado por: TigPT em 15 de Junho de 2009, 11:07
Acho que não foi esse mas um parecido. Mas a ideia é mesmo essa, mas num modulo aplicável a qualquer robot.

Utilizo o sketchup do google.
Título: Re:RobotLineFollower
Enviado por: TigPT em 07 de Julho de 2009, 22:37
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh6.ggpht.com%2F_Lt0JkvwRIwE%2FSlO_q8qz2tI%2FAAAAAAAAAhY%2FrR56UctEKtM%2Fs640%2FDSC00879.JPG&hash=ca11389619d6d50af3d52d4472ce9375fa7c13e7)

Vou testar com estes sensores.. alguém já os utilizou antes?
Título: Re:RobotLineFollower
Enviado por: tcustodio em 08 de Julho de 2009, 00:11
se são os que estou a pensar, da sparkfun, tenho uns semelhantes, que mandei vir da Vishay, estou a tentar implementar interruptores ópticos numa ideia que tive.
parecem-me ser fáceis de implementar
Título: Re: RobotLineFollower
Enviado por: fred gomes em 21 de Novembro de 2009, 21:40
Boas:)
como vai o seguidor de linhas TigPT?
será que me poderias facultar da programação que fizeste para robot seguir a linha para poder comparar com um codigo que tenho feito com esse mesmo objectivo..
Título: Re: RobotLineFollower
Enviado por: TigPT em 21 de Novembro de 2009, 21:41
Boas,

Vai mal que o tempo não tem dado para development :(

Desculpa mas ainda não comecei a agarrar no projecto. Foi só um despejar de ideia.
Título: Re: RobotLineFollower
Enviado por: fred gomes em 21 de Novembro de 2009, 21:43
:s
ok..
no entanto posso te enviar o código para saber a tua opinião?
Título: Re: RobotLineFollower
Enviado por: TigPT em 21 de Novembro de 2009, 21:44
Claro, posta aqui até ;)
Título: Re: RobotLineFollower
Enviado por: fred gomes em 21 de Novembro de 2009, 21:45
Código: [Seleccione]
int motor1;
int motor2;
int sensor1;
int sensor2;
int servo;
int IR;

void setup(){
  pinMode(motor1, OUTPUT);
  pinMode(motor2, OUTPUT);
  pinMode(servo, OUTPUT);
  pinMode(sensor1, INPUT);
  pinMode(sensor2, INPUT);
  pinMode(IR, INPUT);
  };
 
  void obstaculos();
 
  void loop(){
    if(analogRead(IR)< 987654)
    {
      obstaculos();
    };
   
    if(analogRead(sensor1)< 97987)
    {
      analogWrite(motor1, 0);
    }
    else
    {
       analogWrite(motor1, 987654);
    };
   
   
   
    if(analogRead(sensor2)< 97987)
    {
      analogWrite(motor2, 0);
    }
    else
    {
      analogWrite(motor2, 987654);
    };
   
    };
   
    void obstaculos(){
      int z = 5;
      int y = 10;
      int x = 300;
      int servo;
      analogWrite(motor1, 0);
      analogWrite(motor2, 0);
      analogWrite(motor1, 654654);
      analogWrite(motor2, -654654);
      analogWrite(servo, 30);
      delay(2000);
      do{
        analogWrite(motor2, 654654);
      analogWrite(motor1, -654654);
      }while(analogRead(IR)< z && analogRead(IR)> y);
     
      do{
        analogWrite(motor2, 654654);
        analogWrite(motor1, 654654);
        if(analogRead(sensor1)<x||analogRead(sensor2)<x)
        {
                analogWrite(servo, 127);
      analogWrite(motor2, 0);
      analogWrite(servo, 0);
      analogWrite(motor1, 654654);
      analogWrite(motor2, -654654);
      delay(2000);
      loop();
      };
      }while(analogRead(IR)>y);
     
      obstaculos();
      };

nessa programação está contida a parte também para o carrinho se desviar de obstaculos...
diz a tua opinião e corrige erros que achas que irão contribuir para o mau funcionamento do robot...
Título: Re: RobotLineFollower
Enviado por: TigPT em 21 de Novembro de 2009, 21:56
Antes de mais um "se faz favor" não caia nada mal.

Podes começar por ler o reference:
http://arduino.cc/en/Reference/Extended (http://arduino.cc/en/Reference/Extended)

Onde vais ver que coisas como:
Código: [Seleccione]
if(analogRead(IR)< 987654)Não fazem qualquer sentido pois o reference diz:
Citar
Returns

int (0 to 1023)
http://arduino.cc/en/Reference/AnalogRead (http://arduino.cc/en/Reference/AnalogRead)

Boa programação Fred ;)
Título: Re: RobotLineFollower
Enviado por: fred gomes em 21 de Novembro de 2009, 22:03
ups:s
desculpa não foi por mal, eu tenho o hábito de sempre no fim de qualquer pedido que faça dizer sff, mas desta vez passou-me:s, sorry...

o código ainda contêm valores muito absurdos, terei de os mudar depois... eu vou lêr esse tutorial que me mandaste, amanha com mais tempo, para saber melhos que valores deva colocar nessa linha que indicaste, por exemplo, e outras...

mas quanto à programação em si (esquecendo os valores), achas que o carrinho irá comportar-se com o esperado?, seguir a linha preta, desviar-se de obstaculos e retomar a linha?

obrigado pela disponibilidade e paciência.
Título: Re: RobotLineFollower
Enviado por: TigPT em 21 de Novembro de 2009, 22:13
Não sei fred, não estive a ver nem vou ver enquanto não estiver minimamente limado.

Não é o escrever sempre isso no fim, é a maneira como se escreve, parece que estas a exigir. Eu sei que não mas tens que ter cuidado com a maneira como o fazes para não seres mal entendido. ;)

Força, analisa isso lima mais o código e depois posta.
Título: Re: RobotLineFollower
Enviado por: microbyte em 22 de Novembro de 2009, 01:40
Não sei se conhecem o TCRT5000 da Vishay...

http://ricardo-dias.com/node/48 (http://ricardo-dias.com/node/48)

Podem pedir samples :D :D :D :D
Título: Re: RobotLineFollower
Enviado por: fred gomes em 22 de Novembro de 2009, 12:07
eu conheço, ja o tinha visto no teu blog xD..
vendes desses sensores?,eu para já nao perciso pq tenho os cny70 mas se vier a percisar contacto-te;)
Título: Re: RobotLineFollower
Enviado por: microbyte em 22 de Novembro de 2009, 13:22
eu conheço, ja o tinha visto no teu blog xD..
vendes desses sensores?,eu para já nao perciso pq tenho os cny70 mas se vier a percisar contacto-te;)

Lol... :D Eu não vendo... Não me custaram nada, não acho correcto vender...
É só pedires samples na Vishay que eles costumam mandar...
Título: Re: RobotLineFollower
Enviado por: Tayeb em 22 de Novembro de 2009, 17:19
Uma solução interessante para a competição de busca e salvamento é o sensor de linhas QTI, que foi lançado há dias no mercado pela Aliatron.
Título: Re: RobotLineFollower
Enviado por: preytender em 01 de Junho de 2010, 02:00
Ola a todos,

Estou a espera de uma encomenda da loja para finalmente colocar motores no meu primeiro robot. ;D A minha ideia e fazer um robot que segue linhas "normal" vou utilizar o sensor QTR-8RC, mas ja estive a olhar para um servo que tenho aqui e pensei testar a ideia levantada neste topico.

O principio mecanico não levanta muitas duvidas a questão esta em como programar a coisa de modo a ter vantagem. Da para perceber que ao alinhar a linha com os movimentos do servo minimiza os movimentos das rodas logo torna o robot mais rapido mas adicionar mais um ou dois sensores a cada lado e optimizando o codigo provoca o mesmo efeito por isso......  ::)

Ate gosto da ideia mas deve haver alguma maneira de conseguir tirar mais proveito da utlização do servo ...... fica para pensar....
Título: Re: RobotLineFollower
Enviado por: Arknum em 01 de Junho de 2010, 10:06
Boas

Também fiquei fá deste tipo de seguidores de linha, vai ser um projecto futuro para quando tiver mais tempo.
Estive no google a ver mais seguidores de linha deste tipo mas não há muita informação a seu respeito só muitos videos.
Fiquei intrigado sobre qual paerte do robo é que o faz mover? é a roda central, por baixo do servo, ou as duas ultimas rodas? e a parte de trás do robo move-se livremente da parte do servo?

Boa sorte nesse projecto
Título: Re: RobotLineFollower
Enviado por: jp_ em 01 de Junho de 2010, 23:27
Citar
Ate gosto da ideia mas deve haver alguma maneira de conseguir tirar mais proveito da utlização do servo ...... fica para pensar....

Já que é para pensar... que tal se usarem o servo para vos indicar o ângulo de curvatura e assim saber a razão de rotação entre as rodas de tração???

Será que chega para pensar???

Um abraço,

jp_