LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Projectos em desenvolvimento => Tópico iniciado por: Azoto em 01 de Junho de 2010, 20:23

Título: Wall fallower robot
Enviado por: Azoto em 01 de Junho de 2010, 20:23
Boa tarde, estou de momento a finalizar a minha PAT, ja criei o chassi, as placas e de momento estou na programação. Uso 3 sonares SRF08 (um para a esquerda, outro para a direita e um para o centro). Tal como ja devem saber, o sonar funciona por I2C. Até aqui tudo bem, mas tenho um grande problema com o código. Ao iniciar o robot ele lê os 3 sonares e vê em que direção tem de andar o problema é que a informação só é dada após a leitura dos 3 sonares demorando muito tempo, ou seja ele começa a andar e vai lendo os sonares  e se o sonar do centro detectar uma parede a menos de 9 centimetros ele não vira logo porque ainda falta ler o sonar da direita. O que acontece é que o robot bate na parede. O robot está com um atraso de resposta cerca de 3 segundos e não entendo porquê. Gostaria que alguem me ajudasse pois falta uma semana para entregar o projecto.

Se quizerem ver mais sobre o meu robot está aqui o meu site, não está actualizado pois não tenho muito tempo para isso http://wall-follower-robot.pt.vu/ (http://wall-follower-robot.pt.vu/)

Obrigado, Nuno Cruz
Título: Re: Wall fallower robot
Enviado por: antonio_jose em 01 de Junho de 2010, 20:32
Boa Tarde Azoto

Bem Vindo ao Fórum :), espero que consigas resolver o teu problema, e que faças muitos projectos ;)

E Parabéns pelo site, continua assim...

Cumprimentos
Título: Re: Wall fallower robot
Enviado por: Azoto em 01 de Junho de 2010, 20:34
Muito obrigado!!! não me consegues ajudar com este problema? nem tentar falar com alguem que perceba para me ajudar? é que tou mesmo com dificuldade!!
Título: Re: Wall fallower robot
Enviado por: antonio_jose em 01 de Junho de 2010, 20:43
Eu a nível de programação ainda estou num nível muito básico e não encontrei o código do teu robô, no teu site :(

Mas o melhor é postares aqui neste teu post, o código, e o circuito eléctrico. Para o pessoal ver onde está o problema. É capaz de haver alguém que te ajude ;)
Título: Re: Wall fallower robot
Enviado por: ngoncalves em 01 de Junho de 2010, 20:52
Sem conhecer o código, aqui vão algumas dicas:

 1. Solução força bruta: fazer o robot andar mais lentamente. Assim dá tempo de ler todos os sonares e não bater nas paredes

 2. Solução não tanto força bruta: regular a velocidade do robot de acordo com as medições dos sonares. Quanto mais perto estiver um objecto, mais devagar anda o robot

 3. Utilizar o endereço de broadcast do bus I2C para que todos os sonares comecem a funcionar ao mesmo tempo. Assim não tens que esperar que um sonar termine, para ir ler o seguinte

 4. Diminuir o alcance útil do sonar, por forma a que seja mais rápida a leitura.

 5. Combinação das soluções anteriores

 
Título: Re: Wall fallower robot
Enviado por: Azoto em 01 de Junho de 2010, 20:58
Eu não coloquei o código pois iria estar a fornecer algo que nunca se deve fornecer nos robot's

posso é colucar aqui as configurações e a leitura de um dos sonraes para ver se isto está correcto. Uso a pic 18f252, um cristal de 10mhz.

...
#use I2C(FAST, SCL=PIN_C3, SDA=PIN_C4, FORCE_HW) 
...
int16 ler_sonar_esquerda()//112 é o sonar da esquerda
{
      int16 range;
      i2c_start();
      i2c_write(0xE0); 
      i2c_write(0x00);
      i2c_write(0x51);
      i2c_stop();
     
      delay_ms(105);
     
      i2c_start();
      i2c_write(0xE0);
      i2c_write(0x02);
      i2c_start();
      i2c_write(0xE1);
     
      range =i2c_read() << 8;
      range += i2c_read(0);
     
      i2c_stop();
      delay_ms(100);
      return range;
}
Título: Re: Wall fallower robot
Enviado por: senso em 01 de Junho de 2010, 21:10
Porque tantos delays?
Estás ai a queimar tempo sem fazer NADA, depois, se não revelas o código tambem ninguem tem uma bola de cristal para adivinhar o que tu escreves-te.
A melhor maneira de ler os sensores é round robin, ou seja ler o sensor que não é lido á mais tempo e assim sucessivamente, tipo um loop, metes os sensores em free-runing, um timer a dar base de tempo e em casa interrupt do timer les um sensor, guardas os dados, processas os dados e quando se der outro interrupt lês outro sensor e assim sucessivamente, desses 205ms que queimas ai em delays, podias passar para no minimo um terço desse valor, o que já é muito mais rápido.
Porque é que fazes o shift left, o sensor manda-te 16 bits de dados?
Porque é que um fazes read e noutro read(0) se vai tudo para o range? (eu e i2c ainda não nos conhece-mos bem tambem...)
Título: Re: Wall fallower robot
Enviado por: AcidDagger em 01 de Junho de 2010, 21:10
se nao colocares o codigo completo desejo-te muita sorte...  :)

Assim é muito mais dificil
Título: Re: Wall fallower robot
Enviado por: ngoncalves em 01 de Junho de 2010, 21:11
Eu não coloquei o código pois iria estar a fornecer algo que nunca se deve fornecer nos robot's

Ah ?  :o

Porque é que o código que corre num robot não deve ser conhecido por terceiros ?
Título: Re: Wall fallower robot
Enviado por: senso em 01 de Junho de 2010, 21:19
É impressão minha ou sempre que les o sensor estás a fazer a inicialização do mesmo, dei uma olhadela no datasheet e é isso mesmo que pareces estar a fazer, assim ainda perdes mais tempo...
Código: [Seleccione]
      int16 range;
      i2c_start();
      i2c_write(0xE0);
      i2c_write(0x00);
      i2c_write(0x51);
      i2c_stop();
Isto aqui parece ser a inicialização do sensor para ler em centimetros e com um ganho analógico de 94 o 51 não percebo o que é.

Encontrei isto nos googles:
Código: [Seleccione]
'***********************************************************
'**                                                       **
'**   SRF08 Demonstration Software for the PICAXE-28x     **
'**     showing how to change the SRF08 I2C address       **
'**                                                       **
'**          Copyright 2003 - Devantech Ltd               **
'**    Commercial use of this software is prohibited      **
'**    Private and educational use only is permitted      **
'**                                                       **
'**         Written by Gerald Coe - May 2003              **
'**                                                       **
'***********************************************************

' NEW_ADDRESS can be set to any of E0, E2, E4, E6, E8, EA, EC, EE
'                                  F0, F2, F4, F6, F8, FA, FC, FE
symbol NEW_ADDRESS = $EC

main:
   i2cslave $00,i2cfast,i2cbyte     ' Define General Broadcast i2c address for the SRF08
   writei2c 0,($A0)                 ' 1st command in address change sequence
   writei2c 0,($AA)                 ' 2nd
   writei2c 0,($A5)                 ' 3rd
   writei2c 0,(NEW_ADDRESS)         ' The new address for the SRF08

' now show range reading to prove address change is OK
   i2cslave NEW_ADDRESS,i2cfast,i2cbyte ' use new i2c address for the SRF08
loop:
   writei2c 0,(81)                  ' Send Ranging command to get range in cm
   pause 100                        ' Wait for ranging to complete
   readi2c 2,(b5, b4)               ' Read the Range
   debug w2                         ' Display Range, Note b5-b4 are w2 high-low bytes
   goto loop

Em 4 linhas de código faz-se uma leitura do sensor, tu estás a usar 17 e com o dobro de tempo de delay, fazendo um round robin como disse acima les um sensor a cada 33ms, muito mais rápido que os teus actuais 205ms gastos em delay mais o tempo que demora a enviar esses comandos todos em i2c.
Título: Re: Wall fallower robot
Enviado por: Azoto em 01 de Junho de 2010, 21:23
Porque tantos delays?
Estás ai a queimar tempo sem fazer NADA, depois, se não revelas o código tambem ninguem tem uma bola de cristal para adivinhar o que tu escreves-te.
A melhor maneira de ler os sensores é round robin, ou seja ler o sensor que não é lido á mais tempo e assim sucessivamente, tipo um loop, metes os sensores em free-runing, um timer a dar base de tempo e em casa interrupt do timer les um sensor, guardas os dados, processas os dados e quando se der outro interrupt lês outro sensor e assim sucessivamente, desses 205ms que queimas ai em delays, podias passar para no minimo um terço desse valor, o que já é muito mais rápido.
Porque é que fazes o shift left, o sensor manda-te 16 bits de dados?
Porque é que um fazes read e noutro read(0) se vai tudo para o range? (eu e i2c ainda não nos conhece-mos bem tambem...)
Esse 1º delay é necessário para que ele espere para começar a ler a distancia. tanto o 1º como o 2º não tenho a certeza se são necessários mas encontreios num exemplo sobre o I2C.

Sim o sensor manda 16 bits
range += i2c_read(0) server para ler o 2º byte e colucalo em 1ºpois tão trocados.
Título: Re: Wall fallower robot
Enviado por: senso em 01 de Junho de 2010, 21:24
Ok, então lê o que postei antes do teu tópico e se quiseres mostra ai o teu código todo, só sais daqui a ganhar pois alguem te vai ajudar a fazer o trabalho que tu devias fazer e assim ficas com melhor nota...
Título: Re: Wall fallower robot
Enviado por: AcidDagger em 01 de Junho de 2010, 21:27
Achas que esse tipo de robot ainda ninguem fez?

Posta mas é o codigo se queres que te ajudem...
Título: Re: Wall fallower robot
Enviado por: Azoto em 01 de Junho de 2010, 21:30
Pessoal esse não é o problema é que este código que tenho aqui foi-me fornecido por uma pessoa...como não sabia como ler os sonares pedi ajuda e acabou por me fornecer o código completo, como não sei se este se importa que forneça o código todo não o poderei colucar... peço desculpa mas gostaria que me ajudassem na mesma.
Título: Re: Wall fallower robot
Enviado por: Azoto em 01 de Junho de 2010, 21:31

Isto aqui parece ser a inicialização do sensor para ler em centimetros e com um ganho analógico de 94 o 51 não percebo o que é.

o 51 é para o sonar fornecer a distância em cm
Título: Re: Wall fallower robot
Enviado por: antonio_jose em 01 de Junho de 2010, 21:32
Achas que esse tipo de robot ainda ninguem fez?

Posta mas é o codigo se queres que te ajudem...

Se calhar o rapaz não postou o código todo porque pode ter receio que algum professor descubra que o trabalho foi feito com ajuda de um fórum de Robótica, e evitar ter nota zero. lol  :o

Eu acho que fazia o mesmo, lol, ia pedindo ajuda, como se faz isto e como se faz aquilo, e só depois de ter entregue é que desvendava o código. lol   8)
Título: Re: Wall fallower robot
Enviado por: antonio_jose em 01 de Junho de 2010, 21:33
Pessoal esse não é o problema é que este código que tenho aqui foi-me fornecido por uma pessoa...como não sabia como ler os sonares pedi ajuda e acabou por me fornecer o código completo, como não sei se este se importa que forneça o código todo não o poderei colucar... peço desculpa mas gostaria que me ajudassem na mesma.

Há então está explicada a situação.

 ;D
Título: Re: Wall fallower robot
Enviado por: senso em 01 de Junho de 2010, 21:35

Isto aqui parece ser a inicialização do sensor para ler em centimetros e com um ganho analógico de 94 o 51 não percebo o que é.

o 51 é para o sonar fornecer a distância em cm
enganei-me, não sei é para que usas o 00.
Então, com o que ai metes-te já te demos toda a ajuda possivel, mete a inicialização TODA dos sensores fora do loop principal do robot, olha para esse código para PICAXE e implementa-o no teu código e isso fica mais rápido, mas cheira-me que 3segundos tens para ai delays até mais não ou estás a fazer prinf's ou putcs ou algo que te empanca o micro-controlador por muito tempo.
Se ele te deu o código não se deve importar, ele não reinventou a roda concerteza para mais com esses problemas.
Tira todos os delays que puderes, optimiza loops, contas, divisões são o demónio, multiplicações tambem o são um pouco, se usares potencias de dois então shifts left e right sempre que possivel, dispensar floats e qualquer coisa com virgulas flutuantes.
Mais que isto mostra o source lol
Título: Re: Wall fallower robot
Enviado por: Azoto em 01 de Junho de 2010, 21:37

Se calhar o rapaz não postou o código todo porque pode ter receio que algum professor descubra que o trabalho foi feito com ajuda de um fórum de Robótica, e evitar ter nota zero. lol  :o

Eu acho que fazia o mesmo, lol, ia pedindo ajuda, como se faz isto e como se faz aquilo, e só depois de ter entregue é que desvendava o código. lol   8)

Bgd pela compreenção, mas há pessoas que ainda não entenderam que isto é importante e sem isto poderei ficar com o 12º incompleto...e perder um ano da minha vida por causa disto. muito obrigado
Título: Re: Wall fallower robot
Enviado por: senso em 01 de Junho de 2010, 21:39
Postas o código, ninguem o comenta todo numa quote e no fim removes e assim ninguem dá por nada e ficas com isso a funcionar.
Ou então se quiseres envia-mo por uma pm que eu dou uma olhadela para te tentar ajudar ;)
Título: Re: Wall fallower robot
Enviado por: AcidDagger em 01 de Junho de 2010, 21:40
lol, sabes o que são PM's?  :)


EDIT: Escrevemos ao mesmo tempo senso...
Título: Re: Wall fallower robot
Enviado por: Azoto em 01 de Junho de 2010, 21:41

Isto aqui parece ser a inicialização do sensor para ler em centimetros e com um ganho analógico de 94 o 51 não percebo o que é.

o 51 é para o sonar fornecer a distância em cm
enganei-me, não sei é para que usas o 00.
Então, com o que ai metes-te já te demos toda a ajuda possivel, mete a inicialização TODA dos sensores fora do loop principal do robot, olha para esse código para PICAXE e implementa-o no teu código e isso fica mais rápido, mas cheira-me que 3segundos tens para ai delays até mais não ou estás a fazer prinf's ou putcs ou algo que te empanca o micro-controlador por muito tempo.
Se ele te deu o código não se deve importar, ele não reinventou a roda concerteza para mais com esses problemas.
Tira todos os delays que puderes, optimiza loops, contas, divisões são o demónio, multiplicações tambem o são um pouco, se usares potencias de dois então shifts left e right sempre que possivel, dispensar floats e qualquer coisa com virgulas flutuantes.
Mais que isto mostra o source lol

o 00 é para registar o endereço. e não, não tenho mais delays a não ser estes, mas  em cada um dos sonares .
Título: Re: Wall fallower robot
Enviado por: senso em 01 de Junho de 2010, 21:43
Começa por criar uma função do tipo:
void configSensor(void){
// e aqui metes o código todo para configurar os sensores todos e alterar os endereços e coiso e depois é só ler, tal e qual esse exemplo para picaxe.

}
Título: Re: Wall fallower robot
Enviado por: Sérgio_Sena em 01 de Junho de 2010, 21:52
Achas que esse tipo de robot ainda ninguem fez?

Posta mas é o codigo se queres que te ajudem...

Se calhar o rapaz não postou o código todo porque pode ter receio que algum professor descubra que o trabalho foi feito com ajuda de um fórum de Robótica, e evitar ter nota zero. lol  :o

Eu acho que fazia o mesmo, lol, ia pedindo ajuda, como se faz isto e como se faz aquilo, e só depois de ter entregue é que desvendava o código. lol   8)



ora nem mais.... porque é que acham que andam sempre atento aos foruns  ;D  é para ver se caço os meus formandos a copiar trabalhos LOOOOOOOOL
Título: Re: Wall fallower robot
Enviado por: antonio_jose em 01 de Junho de 2010, 21:54
Achas que esse tipo de robot ainda ninguem fez?

Posta mas é o codigo se queres que te ajudem...

Se calhar o rapaz não postou o código todo porque pode ter receio que algum professor descubra que o trabalho foi feito com ajuda de um fórum de Robótica, e evitar ter nota zero. lol  :o

Eu acho que fazia o mesmo, lol, ia pedindo ajuda, como se faz isto e como se faz aquilo, e só depois de ter entregue é que desvendava o código. lol   8)



ora nem mais.... porque é que acham que andam sempre atento aos foruns  ;D  é para ver se caço os meus formandos a copiar trabalhos LOOOOOOOOL

é caso para dizer que temos um formador infiltrado no fórum  ;D
Título: Re: Wall fallower robot
Enviado por: senso em 01 de Junho de 2010, 22:01
Mas copiar trabalhos até eu que sou estudante acho bastante errado, agora tirar umas duvidas de programação e tal, acontece aos melhores e nisso não vejo mal, sei que a ideia é a pessoa aprender, pois no mercado de trabalho não terá este tipo de ajudas pois pode trabalhar em coisas privadas logo nada de mostrar código na rua, mas temos de aprender em algum lado
Título: Re: Wall fallower robot
Enviado por: amando96 em 01 de Junho de 2010, 22:24
Mas copiar trabalhos até eu que sou estudante acho bastante errado, agora tirar umas duvidas de programação e tal, acontece aos melhores e nisso não vejo mal, sei que a ideia é a pessoa aprender, pois no mercado de trabalho não terá este tipo de ajudas pois pode trabalhar em coisas privadas logo nada de mostrar código na rua, mas temos de aprender em algum lado

Exacto, quantos chumbavam montes de anos de seguida se não fosse o copianço... não sei como é ''aí pra cima" mas cá em baixo è demais...
Título: Re: Wall fallower robot
Enviado por: Azoto em 01 de Junho de 2010, 22:28
Por favor não mudem de assunto é que preciso mesmo de ajuda!! Agradeço
Título: Re: Wall fallower robot
Enviado por: senso em 01 de Junho de 2010, 23:05
É só uma conversa paralela, qualquer coisa dizes que volta-se a estar ontopic.
Título: Re: Wall fallower robot
Enviado por: ngoncalves em 02 de Junho de 2010, 10:51
Moço,

  Se não colocas aqui o código, as pessoas não te podem ajudar. Em alternativa podes pedir ajuda a quem te passou o código. Neste momento a única coisa que sabemos é que o teu código não funciona. Sem saber mais nada, eu diria que o problema está entre o teclado e a cadeira.

   Do que colocaste aqui, parece que estás a inicializar o controlador do sonar sempre que os vais ler. Não é necessário. Aqui fica uma dica sobre como organizar o código:

Código: [Seleccione]
       void configSonares(void)
      {
            // coloca aqui todo o código para inicialização de cada um dos sonares
      }

      int main(void)
     {
           configSonares() ;

           while(1)
           {
               // envia um pedido de leitura para o endereço 0x00
               // este endereço é o de broadcast o que significa que todos os
               // sonares vão fazer um ping ao mesmo tempo

              wait(100) ;  // espera uns 100 ms, o datasheet para esperar pelo menos 65 ms

              // lê o valor em cada um dos sonares
          }
     }
Título: Re: Wall fallower robot
Enviado por: Tyran em 02 de Junho de 2010, 11:15
Por falar nisso... eu por norma nunca dou um projecto/trabalho meu a ninguém... com excepções claro :)

não é por mal, mas é assim, se alguém tiver dúvidas dentro do que eu sei tento explicar da melhor forma, agora dar coisas de mão beijada depois de eu ter tido tanto trabalho e eles sem fazer nada por isso não, lamento mas as coisas custam a fazer... estou a falar no ambiente académico claro! mas mesmo neste ambiente creio que é de todo o interesse do "postador" aprender como se faz e não "copy&paste" :p
Título: Re: Wall fallower robot
Enviado por: microbyte em 02 de Junho de 2010, 14:17
Por falar nisso... eu por norma nunca dou um projecto/trabalho meu a ninguém... com excepções claro :)

não é por mal, mas é assim, se alguém tiver dúvidas dentro do que eu sei tento explicar da melhor forma, agora dar coisas de mão beijada depois de eu ter tido tanto trabalho e eles sem fazer nada por isso não, lamento mas as coisas custam a fazer... estou a falar no ambiente académico claro! mas mesmo neste ambiente creio que é de todo o interesse do "postador" aprender como se faz e não "copy&paste" :p

Pois eu não vejo porque não "dar tudo de mão beijada" e se não perceberem alguma coisa, perguntam-me depois. Se quiserem aprender, tentam perceber como funciona, se não quiserem, fazem copy/paste e pronto, para mim é igual.

Todos os projectos que apresento, quer aqui, quer no meu site, tento postar o máximo de informação possível.
Sou adepto do open-source e do desenvolvimento global... De certeza que os gajos que inventaram o Arduino tiveram muito trabalho... E as bibliotecas? Tens o código todo disponível e nem tens de te preocupar com o que acontece por trás de umas funções que tu chamas na main()... E isso é óptimo. Acabas por te concentrar no teu problema e não em vários problemas, pois partes do pressuposto que a bilbioteca está bem feita...

Eu queria ver se quem fez a biblioteca servo não tivesse divulgado, e ninguém divulgasse código nenhum sobre como mexer servos com o Arduino, quantas pessoas eram capazes de fazer rodar um servo com um arduino? E a bilbioteca é só um exemplo... Pensa nisso...

Para quê fazer o que já foi feito por outra pessoa? Porque não divulgar o que eu fiz, para que outra pessoa não tenha de passar tanto tempo como eu passei a pensar no assunto? O desenvolvimento tecnológico é exponencial porque andamos todos a trabalhar por cima do trabalho dos outros e não temos de partir do zero cada vez que queremos fazer algo.

Por isso, isto não é só para o Tyran, mas é também para o Azoto.
Não penses que o que tens aí é uma preciosidade, pois a probabilidade de encontrares projectos semelhantes na net é elevadíssima.

PS: Será que um robot "Wall-Follower" sai do mesmo sítio? Ou as tuas paredes são móveis ou então o "follower" devia ser "avoider"...  :P só um aparte...
Título: Re: Wall fallower robot
Enviado por: senso em 02 de Junho de 2010, 14:35
Podiam-te dar as bibliotecas já pre-compiladas e apesar de as usares não as podias ler, o mesmo com o bootloader assim como muitas outras coisas.
Nem sempre se pode dar tudo de mão beijada, imagina tu que desenvolves uma aplicação qualquer, queres vender, tens tudo open source ninguem compra porque é só copiar e colar e tu concerteza não vives do ar nem nada que se pareça.
Como aqui tens exemplo no fórum, vais fazer uma tese de mestrado e vais para n foruns tirar duvidas, o teu orientador apanha isso tudo e depois como é? Ele dá-te a nota á mesma apesar de não teres sido tu a fazer o trabalho?
Como esse exemplo tens muito mais, eu tambem sou adepto do open source, mas só até certo ponto, assim como para o arduino por vezes as bibliotecas são tantas que até são estupidas e lentas e pesadas e são boas para comer ram.
Tal como eu mostrei ao rapaz um exemplo de código para picaxe é obvio que ele não está a reinventar a roda, mas está pelo menos a tentar fazer um roda para ele e para a nota dele.

Se ele fugi-se das paredes, numa caixa quadrada ele metia-se no centro e ficava lá paradinho, já viste aqueles carritos a correr a volta da casa, eles estão efectivamente a seguir as paredes, e não a seguir contra as paredes.
Título: Re: Wall fallower robot
Enviado por: ngoncalves em 02 de Junho de 2010, 15:56
Nem sempre se pode dar tudo de mão beijada, imagina tu que desenvolves uma aplicação qualquer, queres vender, tens tudo open source ninguem compra porque é só copiar e colar e tu concerteza não vives do ar nem nada que se pareça.

Não é bem assim. Tens que saber utilizar o que está disponível em open-source. Como o moço deste post bem sabe, ter o código já feito nao lhe serviu de nada pois ainda não consegue pôr o robot a funcionar.

Entendo o teu ponto, o open-source tem que ser lucrativo caso contrário o pessoal tem que se dedicar a outras coisas. Mas isso não obriga a vender o código em forma fechada. A opção mais comum é vender serviços de manutenção, mas o open-source também é muitas vezes utilizado como cartão de visita em relação às capacidades do trabalhador.

Quanto a copiar o código, muitas universidades têm já programas para detecção de plágio.
Título: Re: Wall fallower robot
Enviado por: senso em 02 de Junho de 2010, 16:07
Tem o código a não funcionar porque não deve programar muito, que é o que dá a entender(não quero ofender ninguem, é uma simples observaçao) se ele fosse programador de profissão não teria este tipo de problemas.
Depende da aplicação, imagina que é uma centralina de um carro, não vais dar o código todo e depois dizes que tratas do bugs, porque uma centralina e bugs não são da melhor coisa juntos..
Título: Re: Wall fallower robot
Enviado por: metRo_ em 02 de Junho de 2010, 16:44
Se o problema de quem partilha o código é a parte comercial, podem sempre disponibilizar com licenças que não permitam a sua reprodução comercial.
Título: Re: Wall fallower robot
Enviado por: Tyran em 02 de Junho de 2010, 18:02
Por falar nisso... eu por norma nunca dou um projecto/trabalho meu a ninguém... com excepções claro :)

não é por mal, mas é assim, se alguém tiver dúvidas dentro do que eu sei tento explicar da melhor forma, agora dar coisas de mão beijada depois de eu ter tido tanto trabalho e eles sem fazer nada por isso não, lamento mas as coisas custam a fazer... estou a falar no ambiente académico claro! mas mesmo neste ambiente creio que é de todo o interesse do "postador" aprender como se faz e não "copy&paste" :p

Pois eu não vejo porque não "dar tudo de mão beijada" e se não perceberem alguma coisa, perguntam-me depois. Se quiserem aprender, tentam perceber como funciona, se não quiserem, fazem copy/paste e pronto, para mim é igual.

Todos os projectos que apresento, quer aqui, quer no meu site, tento postar o máximo de informação possível.
Sou adepto do open-source e do desenvolvimento global... De certeza que os gajos que inventaram o Arduino tiveram muito trabalho... E as bibliotecas? Tens o código todo disponível e nem tens de te preocupar com o que acontece por trás de umas funções que tu chamas na main()... E isso é óptimo. Acabas por te concentrar no teu problema e não em vários problemas, pois partes do pressuposto que a bilbioteca está bem feita...

Eu queria ver se quem fez a biblioteca servo não tivesse divulgado, e ninguém divulgasse código nenhum sobre como mexer servos com o Arduino, quantas pessoas eram capazes de fazer rodar um servo com um arduino? E a bilbioteca é só um exemplo... Pensa nisso...

Para quê fazer o que já foi feito por outra pessoa? Porque não divulgar o que eu fiz, para que outra pessoa não tenha de passar tanto tempo como eu passei a pensar no assunto? O desenvolvimento tecnológico é exponencial porque andamos todos a trabalhar por cima do trabalho dos outros e não temos de partir do zero cada vez que queremos fazer algo.

Por isso, isto não é só para o Tyran, mas é também para o Azoto.
Não penses que o que tens aí é uma preciosidade, pois a probabilidade de encontrares projectos semelhantes na net é elevadíssima.

PS: Será que um robot "Wall-Follower" sai do mesmo sítio? Ou as tuas paredes são móveis ou então o "follower" devia ser "avoider"...  :P só um aparte...

Fazes isso em ambiente académico? A parte que eu estava a falar era académica, se achas que não tem problema ok grandes engenheiros que o nosso país terá, profissionais no copy&paste... o preciosidade ou não não sequer entra no caso do que falei, pois o cerne em que me centrei não foi nesse muito pelo contrário e não tenho qualquer problema em colocar aqui código meu aliás já o fiz... se bem que estava francamente mau, agora já tá melhor xD
Título: Re: Wall fallower robot
Enviado por: senso em 02 de Junho de 2010, 18:52
Se o problema de quem partilha o código é a parte comercial, podem sempre disponibilizar com licenças que não permitam a sua reprodução comercial.
O que te impede de pegar nele e o usar numa aplicação tua e não passar cartão a quem o fez?
Não estou a ver como sabes que alguem está a usar código teu... :s
Título: Re: Wall fallower robot
Enviado por: microbyte em 02 de Junho de 2010, 21:37
Claro que falei em termos de software.
E há limites para tudo, eu até agora não fiz mais do que pequenas experiências.

Eu antes de saber programar por mim, sem ajuda, fiz muita coisa à base de copy&paste... Muita mesmo. E só por ter feito isso, aprendi, pois tentei sempre perceber o porquê daquilo funcionar.

É claro que se for um projecto grande, não convém divulgar... Agora estes pequenos robots... Por favor... Já surgiu uma discussão parecida noutro tópico e não gostaria de encher isto de off-topic, por isso fico-me por aqui.
Título: Re: Wall fallower robot
Enviado por: Azoto em 02 de Junho de 2010, 21:39
Meu amigos o meu robot já ta a funcionar!!! Agradeço muito pela vossa ajuda, a verdade é que era um erro muito estupido!! o clack era d 10 mhz e no código coluquei sem reparar 4mhz pkausa do bootloader....Já irei colucar videos no meu site para verem como está. MUITO OBRIGADO mais uma vez!!

Título: Re: Wall fallower robot
Enviado por: senso em 02 de Junho de 2010, 21:39
Não sou contra a divulgação, até porque regra geral á sempre alguem que nos ajuda a melhorar os nossos algoritmos para o robot fica ainda mais eficiente
Título: Re: Wall fallower robot
Enviado por: microbyte em 02 de Junho de 2010, 22:14
Meu amigos o meu robot já ta a funcionar!!! Agradeço muito pela vossa ajuda, a verdade é que era um erro muito estupido!! o clack era d 10 mhz e no código coluquei sem reparar 4mhz pkausa do bootloader....Já irei colucar videos no meu site para verem como está. MUITO OBRIGADO mais uma vez!!

Algo que nunca te poderíamos ter ajudado com o que nos deste...
Mas ainda bem que está a funcionar.

Vai dando notícias.  ;)
Título: Re: Wall fallower robot
Enviado por: Azoto em 02 de Junho de 2010, 22:16
Meu amigos o meu robot já ta a funcionar!!! Agradeço muito pela vossa ajuda, a verdade é que era um erro muito estupido!! o clack era d 10 mhz e no código coluquei sem reparar 4mhz pkausa do bootloader....Já irei colucar videos no meu site para verem como está. MUITO OBRIGADO mais uma vez!!

Algo que nunca te poderíamos ter ajudado com o que nos deste...
Mas ainda bem que está a funcionar.

Vai dando notícias.  ;)
Tens toda a razão meu amigo mas acontece....são em coisas simples em que o pessoal costuma errar mais xD OBGD na msm
Título: Re: Wall fallower robot
Enviado por: metRo_ em 02 de Junho de 2010, 22:53
Se o problema de quem partilha o código é a parte comercial, podem sempre disponibilizar com licenças que não permitam a sua reprodução comercial.
O que te impede de pegar nele e o usar numa aplicação tua e não passar cartão a quem o fez?
Não estou a ver como sabes que alguém está a usar código teu... :s

Por ai nem as patentes te servem!
Título: Re: Wall fallower robot
Enviado por: senso em 02 de Junho de 2010, 23:06
Não, simplesmente nada de revelar ao publico a não ser compilado lol.
Tenho andado a ler uns tutoriais do smiley micros e ele dá-te montes de coisas, tens o .h e um .a que é onde está tudo mas pré-compilado ou lá como é aquilo, mas não é c nem é assembly.
E uma patente se não privada parte do pressuposto que tens de tornar a tua invenção publica e mesmo que seja privada ao fim de 10 anos, ou 30 anos não tenho a certeza torna-se publica.
Título: Re: Wall fallower robot
Enviado por: Azoto em 06 de Junho de 2010, 01:48
cá está o bicho!! wall follower robot (http://www.youtube.com/watch?v=13xG4w1zDcM#) vejam e digam o que acham
Título: Re: Wall fallower robot
Enviado por: senso em 06 de Junho de 2010, 01:56
Talvez devesses alterar um pouco o angulo dos sensores laterais para não teres pontos mortos de visão.
Título: Re: Wall fallower robot
Enviado por: Azoto em 06 de Junho de 2010, 01:57
yh tambem ja reparei nisso é ke tenho la um espaçamento entre os laterais e o do centro o ke faz kom ke perca ali um angulo ...
Título: Re: Wall fallower robot
Enviado por: senso em 06 de Junho de 2010, 02:04
E tens sempre que meter ao barulho qual o angulo em que os sensores detectam alguma coisa, isso tem um nome especifico, imagina o angulo de saida da luz de um led, o teu sensor tem algo assim, só que não vez, deves tentar que haja um mini cruzamento entre os sensores laterais e o central.
Título: Re: Wall fallower robot
Enviado por: Azoto em 06 de Junho de 2010, 02:06
eu sei kual é o angulo...isso tem na datasheet....e nao posso cruzlos senao o sonar da eskerda emite um ultrasom e o central pode receber o eco do eskerdo o que faz com que ele fique todo alterado da cabeça xD
Título: Re: Wall fallower robot
Enviado por: senso em 06 de Junho de 2010, 02:40
Então deixa o minimo de não cruzamento lol