tag:blogger.com,1999:blog-82335976871648413552023-03-22T05:13:50.057-03:00Tech Lego, da imaginação à realidadeIvan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.comBlogger46125tag:blogger.com,1999:blog-8233597687164841355.post-40562538853190747772013-02-10T19:48:00.002-02:002015-03-29T14:59:03.570-03:00Blog Movido, melhorado e atualizado!<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-q5G5Hs1PzA4/VRg9YRqirCI/AAAAAAAAAvw/ZTUC_McQwdA/s1600/logos-V02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-q5G5Hs1PzA4/VRg9YRqirCI/AAAAAAAAAvw/ZTUC_McQwdA/s1600/logos-V02.png" height="116" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
Olá Caros leitores!<br />
<br />
Venho informar, que este blog foi renomeado e movido para <a href="http://www.tendadigital.net/">www.tendadigital.net</a><br />
<br />
A razão disso, é melhorar a cara, funcionalidade e remover o nome "Lego", já que os projetos evoluiram, e não são mais "só" Lego, como muitas coisas legais.<br />
<br />
Espero que gostem do novo layout, e do novo nome também! <a href="http://www.tendadigital.net/">Tenda Digital</a><br />
<br />
Abraços, e vejo vocês por lá!<br />
<br />
Ivan Seidel GomesIvan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com0tag:blogger.com,1999:blog-8233597687164841355.post-38413577030090969182012-08-19T18:48:00.000-03:002012-08-19T18:57:30.986-03:00While(1) Circuitos impressos para garagistas<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.while1.com.br/"><img border="0" height="87" src="http://3.bp.blogspot.com/-O5MsCfwWyUM/UDFe7Jk_hFI/AAAAAAAAAPc/CDW0-7gWMI0/s400/logo_04.png" width="400" /></a></div>
<br />
<br />
Olá pessoal, fiquei ausente do blog durante 1 mês e pouco, justamente porque estive trabalhando em um projeto diferente (vários projetos para falar a verdade, mas focado neste "novo").<br />
<br />
Desde que comecei a mexer com eletrônica, percebi que uma das coisas que mais faltam aqui no Brasil, é criação de circuitos impressos de qualidade e de fácil acesso para garagistas. Isso já me fez gastar muitas horas fazendo e refazendo em casa circuitos simples, e que não duram nem 1 mês se deixados em cima da mesa por corrosão, oxidação...<br />
<br />
Conheci alguns fornecedores fora do Brasil, que fazem esse tipo de serviço, mas precisaria de várias pessoas, para que se tornasse "acessível" para nós.<br />
<br />
Foi no mês passado que resolvi montar com meu primo, uma empresa de importação de placas de circuito impresso, voltada totalmente à garagistas como eu, e você que esta lendo este post.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.while1.com.br/"><img border="0" height="173" src="http://3.bp.blogspot.com/-aqdWd1kGoKM/UDFflNhvChI/AAAAAAAAAPs/GjPa-BkINdU/s640/info_01.png" width="640" /></a></div>
<br />
<br />
Demos o nome de While(1), e deixamos o site o mais simples possível e sem barreiras de burocracia para enviar os arquivos do circuito, tanto que o orçamento é feito na hora, on-line. Você pode enviar, visualizar e comprar com alguns passos apenas.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.while1.com.br/"><img border="0" height="171" src="http://2.bp.blogspot.com/-Mk4-aYzQP50/UDFf1xDeaKI/AAAAAAAAAP0/NK2CXlPg3Ak/s640/info_02.png" width="640" /></a></div>
<br />
<br />
Vale a pena conferir: <a href="http://www.while1.com.br/">www.while1.com.br</a><br />
<br />
Temos também uma página no Facebook, curtam e compartilhem a vontade: <a href="http://www.facebook.com/while1br">http://www.facebook.com/while1br</a><br />
<br />
Um abraço, e espero que ajude o máximo de garagistas! (já esta me ajudando, e muito!)Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com0tag:blogger.com,1999:blog-8233597687164841355.post-27939124523127967032012-07-10T22:35:00.000-03:002012-07-11T08:15:10.945-03:00Melhor robô do mundo no Rescue B!<div class="separator" style="clear: both; text-align: center;">
</div>
Escrevi (bastante <a href="http://techlego.blogspot.com.br/2012/04/rumo-ao-mexico-2012-rescue-b.html">aqui</a>, <a href="http://techlego.blogspot.com.br/2012/05/rescue-b-mecanica-e-hardware.html">aqui </a>e <a href="http://techlego.blogspot.com.br/2012/06/longa-viagem-grandes-avancos.html">aqui</a>) sobre o tal robô para o RescueB no méxico, mas este post é especial pois conquistamos o primeiro prêmio na apresentação do projeto e construção do robô usado na categoria Resgate B da RoboCup Junior 2012, realizada de 18 a 24 de junho na Cidade do México!<br />
<div>
<br /></div>
<div>
Fiz um vídeo com algumas fotos e filmes do robô em ação. Espero que gostem!<br />
<br /></div>
<div>
<div style="text-align: center;">
<iframe width="640" height="360" src="http://www.youtube.com/embed/bH56vuA9vUo" frameborder="0" allowfullscreen></iframe></div>
</div>
<div>
<br /></div>
<div>
No total, 19 equipes de diversos países (como Japão, Alemanha, Itália, Suécia, Irã, entre outros) participaram desta mesma categoria. Além do prêmio de melhor robô do mundo, a Emerotecos também obteve o quarto lugar na competição individual de equipes do Resgate B e o terceiro lugar na competição de supertimes na mesma categoria, competindo junto com a equipe da Eslovênia. Na prova de supertimes, duas equipes se unem (escolhidas por sorteio) para programarem seus robôs realizarem a tarefa de resgate de forma cooperativa.</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-fR1Dzr223so/T_zC4HrR_UI/AAAAAAAAAPA/T3kN1kCAP-o/s1600/282729_434843873213922_2087215642_n%5B1%5D.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="http://3.bp.blogspot.com/-fR1Dzr223so/T_zC4HrR_UI/AAAAAAAAAPA/T3kN1kCAP-o/s640/282729_434843873213922_2087215642_n%5B1%5D.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="background-color: #ffffee; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 11px; line-height: 15px;">Nossa equipe com a da Eslovênia recebendo o troféu de terceiro lugar na competição de supertimes.</span>
</td></tr>
</tbody></table>
A Equipe Emerotecos é uma formada pelos alunos do <a href="http://www.ifes.edu.br/">IFES</a> André Oliveira, Gabriel Guimarães, Ivan Seidel (eu) e Matheus Canejo da Cunha, todos alunos do ensino médio integrado a cursos técnicos do Campus Vitória (dois são do curso de Mecânica e dois são de Eletrotécnica). A equipe está vinculada ao <a href="http://nera.sr.ifes.edu.br/">NERA - Núcleo de Estudos em Robótica e Automação</a>, e é orientada pelos professores Hudson Cassio Oliveira (da coord. de Mecânica do Campus Vitória) e Felipe Nascimento Martins (coord. de Engenharia de Controle e Automação do Campus Serra).<br />
<br />
Após a competição, os participamos do Workshop de Robótica Educacional, parte do Simpósio da Robocup, onde apresentaram o trabalho <i>Design and Implementation of an Android-Based Omnidirectional Robot for the RoboCup Junior Rescue B Competition</i>, que trata do desenvolvimento de seu robô (<a href="http://www.robocup2012.org/symposium_werob2012.php">veja aqui o programa do simpósio</a>). Felipe nosso técnico, também teve a oportunidade de apresentar um trabalho no mesmo simpósio, falando sobre as atividades de robótica educacional desenvolvidas pelo <a href="http://nera.sr.ifes.edu.br/">NERA</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-3pOhZPxcgbs/T_zDp7KaswI/AAAAAAAAAPI/1vQGxPpjaPs/s1600/278001_10150987688631118_2052383952_o%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="384" src="http://4.bp.blogspot.com/-3pOhZPxcgbs/T_zDp7KaswI/AAAAAAAAAPI/1vQGxPpjaPs/s640/278001_10150987688631118_2052383952_o%255B1%255D.jpg" width="640" /></a></div>
<div>
<br /></div>
<br />
Gostariamos de agradecer às instituições e às pessoas que proporcionaram nossa viagem para participar da RoboCup 2012! Em especial, agradecemos às empresas Nova Didacta, Use Móveis, <a href="http://www.proesi.com.br/?from=emerotecos">Proesi</a>, <a href="http://www.copyexpress.com.br/?from=emerotecos">Copy Express</a>, Productiva-Hailtools, <a href="http://www.intechno.com.br/?from=emerotecos">InTechno </a>e Qualidata. Agradecimentos especiais aos professores Ricardo Paiva e Tadeu Pissinati, do IFES, por seu esforço em sempre ajudar a equipe, e à professora Carmen Faria, da UFES, por sempre nos incentivar e motivar. Também agradecemos aos demais professores do IFES e a todos os amigos e companheiros de competição pelo apoio, companhia e amizade! <br />
<div>
<br /></div>
<div>
Mais informações estão disponíveis aqui:</div>
<div>
<a href="http://nossosrobos.blogspot.com.br/">Nosso Robos</a></div>
<div>
<a href="http://emerotecos.com/">Emerotecos.com</a></div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com6tag:blogger.com,1999:blog-8233597687164841355.post-250880351576879242012-06-25T22:30:00.002-03:002012-10-16T21:31:51.632-03:00Longa viagem, grandes avanços<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-BQhq50ccPyw/T-kQgwRbh6I/AAAAAAAAAOs/RjytiiEWJyE/s1600/Robocup2012_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://4.bp.blogspot.com/-BQhq50ccPyw/T-kQgwRbh6I/AAAAAAAAAOs/RjytiiEWJyE/s400/Robocup2012_01.jpg" width="400" /></a></div>
<div>
<br /></div>
Neste sábado iniciamos nossa “jornada” rumo ao México, para participar do campeonato mundial de robótica junto com várias outras equipes do mundo na RoboCup 2012.<br />
<br />
<div>
<a href="http://techlego.blogspot.com/2012/05/rescue-b-mecanica-e-hardware.html">Postei anteriormente</a> sobre a mecânica do robô, e seguido de uma explicação sobre a eletrônica. Agora entra a parte da programação, que não escrevi ainda pois não tinhamos muitas coisas concretas.</div>
<div>
<br />
<h3>
A viagem</h3>
</div>
<div>
De Vitória - ES para o Rio, para Lima (Peru) e finalmente, México! No total darão 26h de viagem, e foram as horas em que mais trabalhamos!<br />
<br />
O evento começará terça feira e terminará domingo, dando um tempo a mais para aparar as pontas do robô (e dar muitos nós também!)</div>
<div>
<br />
<h3>
O Programa</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-RJSfzrg4lnA/T-kOLQEXGZI/AAAAAAAAAOk/qCBMr1r_EiM/s1600/Screen+Shot+2012-06-23+at+10.21.19+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="310" src="http://2.bp.blogspot.com/-RJSfzrg4lnA/T-kOLQEXGZI/AAAAAAAAAOk/qCBMr1r_EiM/s400/Screen+Shot+2012-06-23+at+10.21.19+PM.png" width="400" /></a></div>
<div>
<br /></div>
Viramos a noite no Rio, programando a parte lógica e até mesmo mecanica do robô, mas focamos bastante no software, que irá rodar no Android.</div>
<div>
<br />
Como já <a href="http://techlego.blogspot.com/2012/04/rumo-ao-mexico-2012-rescue-b.html">expliquei aqui</a>, escolhemos o uso do android pois é leve, hiper rápido, possui uma tela com resolução maior que minha TV, e é touch screen. Fazer logs, visualizar sensores, modificar configurações, é tudo mais rapido quando se pode acessar qualquer configuração com 2 toques! (e haja configuração...)<br />
<br /></div>
<div>
O código do android é feito em Java, e até agora, temos 32 Classes criadas, totalizando 13 mil linhas de código. Sim, tudo escrito do zero...</div>
<div>
<br />
<h3>
Os Algoritmos</h3>
<div>
De forma geral vou tentar explicar para vocês oque fizemos na parte de programação no robô. Qualquer duvida ou dicas são sempre bem vindas!<br />
<br /></div>
<h3>
Alinhamentos</h3>
Se manter no meio do labirinto parece fácil... Mas não é bem assim!<br />
<br /></div>
<div>
Se manter, no meio do labirinto é uma questão de pequenos ajustes na direção do robo, e na posição ao longo do percurso. Imagine você girando de olhos fechados 30 vezes, depois como saberá onde estava a “frente”?</div>
<div>
<br /></div>
<div>
Justamente por isso, a mecanica do robô permite que ele faça varias medidas de distâncias mesmo estando parado, graças a “cabeça giratória”, que suporta nossos sensores de infravermelho de distância, podemos efetuar qualquer medida com precisão de 1 grau em torno do robô.</div>
<div>
<br />
Imagine, depois, você transformar isso de cordenadas polares (angulos e distancias), para pontos em um plano cartesiano? Fica exatamente assim:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-0rdLyS6tQ_k/T-kMsdjRobI/AAAAAAAAAOM/On7UzuCWRiU/s1600/Screen+Shot+2012-06-23+at+10.38.05+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="358" src="http://2.bp.blogspot.com/-0rdLyS6tQ_k/T-kMsdjRobI/AAAAAAAAAOM/On7UzuCWRiU/s400/Screen+Shot+2012-06-23+at+10.38.05+PM.png" width="400" /></a></div>
<div>
<br /></div>
<div>
Quando chegamos em qualquer “célula” (quadrado do labirinto), temos que ajeitar o robô nele, para que esse “errinho” não se integre, e fique absurdo no futuro.</div>
<div>
<br />
Se ajeitar na posição x, y, e o angulo do robô é o ideal, e por isso desenvolvemos um algoritmo que ache o erro angular do robô com apenas 2 medidas de cada possivel parede ao seu lado!<br />
<br />
O que vou falar para vocês, foi o resultado de vários testes de algoritmos, dentre eles: achar a menor distância; calcular a tendencia do angulo da linha; e o que escolhemos: transformar de cordenadas Polares, para coordenadas cartesianas, e descobrir o angulo da linha baseado no deltaX e deltaY.<br />
<br />
Ele transforma 2 medidas, com angulos de 20, e -20 graus, em uma “linha” no plano cartesiano, e descobre seu angulo em relação à 90 graus. Isso explica um pouco do como funciona:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-OTEEhMDqka8/T-kNVvB0Z5I/AAAAAAAAAOU/Od1rarHdIzo/s1600/Screen+Shot+2012-06-25+at+10.15.00+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="368" src="http://3.bp.blogspot.com/-OTEEhMDqka8/T-kNVvB0Z5I/AAAAAAAAAOU/Od1rarHdIzo/s640/Screen+Shot+2012-06-25+at+10.15.00+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
De acordo com o “erro” angular do robô, essa linha tende para um lado ou para o outro do robô. A “ajeitadinha”, ocorre até duas vezes dependendo do quanto errado o robô está, já que pode haver falhas na leitura do sensor.<br />
<br />
Depois que achado o angulo perpendicular a parede, é facil se acertar nos eixos X e Y. Sabemos que cada modulo do labirindo mede 30cm. os sensores medem de 0 até 80cm. Se subtrairmos os sensores opostos, e vermos o resto da divisão por 30, teremos exatamente o erro naquele eixo. Explicando melhor:<br />
<br />
Olhe para sua esquerda, e meça a distancia até a parede. Olhe para sua direita e meça a distancia até a parede. Subtraia as duas distâncias e você achará o quanto esta “fora” do meio... Ver o resto da divisão, é apenas para se não houver uma parece ao lado e sim 30 cm depois, oque atrapalharia se não colocassemos o resto.</div>
<div>
<br />
<h3>
Mapeamento</h3>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-_CW2cNfZIv4/T-kNxR5XzQI/AAAAAAAAAOc/eYQSPhBzOYI/s1600/Screenshot_2012-06-20-13-25-18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://1.bp.blogspot.com/-_CW2cNfZIv4/T-kNxR5XzQI/AAAAAAAAAOc/eYQSPhBzOYI/s640/Screenshot_2012-06-20-13-25-18.png" width="640" /></a></div>
<div>
<br /></div>
Depois que se achamos o nosso erro e se ajeitamos, é hora de mapear!</div>
<div>
<br />
O mapeamento do robô consegue se preciso o suficiente para ler um quadrado de 3x3 estando no centro dele.<br />
<br />
Descobrir se existe uma parede no labirinto parece facil, mas na verdade são series de calculos de angulos (para mirar na parede certa), e probabilidades...<br />
<br />
Probabilidades? Sim! Nenhuma parede nós guardamos como um valor Verdadeiro ou falso...</div>
<div>
<br />
Usamos probabilidades, pois não é 100% de certeza, que o oque o robô esta vendo, é realmente o que esta lá... Por pequenos erros de imprecisão, ele pode muito bem mirar em outra parede, ou até mesmo fazer uma leitura errada do sensor de distância.</div>
<div>
<br />
Usando probabilidade podemos dar “pesos” para as medidas que fazemos. As paredes mais próximas tem pesos maiores que as mais distântes, e por isso, ver uma parede de perto, importa mais que ve-la de longe!</div>
<div>
<br />
Cada parede possui uma probabilidade de existencia. Todas iniciam em 0.5 (0% de certeza se existe ou não), 1.0 significa que temopos 100% de certeza de existencia, e 0.0 significa 100% de certeza de sua inexistencia. Assim, levamos em consideração também, a leitura de não haver parede, aumentando a probabilidade dela não existir.<br />
<br /></div>
<div>
Funcionou perfeitamente! fizemos vários testes, e se mostrou muito mais eficaz que usar um simples verdadeiro/falso.</div>
<div>
<br />
<h3>
Trajetos</h3>
Cada vez que o robô se ajeita, ele calcula usando um algoritmo de pesquisa por largura, para todas as celulas não visitadas, qual a célula em que ele consegue chegar em menos movimentos.<br />
<br /></div>
<div>
Executa o primeiro movimento desta “lista” de movimentos e em seguida volta a se ajeitar, e repetir o mesmo processo.</div>
<div>
<br />
Isso resulta em algo muito legal: Ele muda a próxima célula, e o mapa cada vez que anda! Então não conseguimos saber exatamente oque ele irá fazer na proxima vez! <br />
<br />
<h3>
Vitmas</h3>
De fato, “achar” vitmas no labirinto é o que realmente vale pontos, mas é a parte mais “facil”. Achar vitmas basta verificar se existe algo quente com os sensores infravermelhos de temperatura ao redor do robo em cada bloco que anda. Se sim, pisque um Led... Simples assim.</div>
<div>
<br />
<h3>
O que falta para terminar?</h3>
Muita coisa! Ainda não terminamos o robô, e como disse, noites foram, e serão viradas por isso.<br />
<br />
Mesmo assim, com os resultados que vimos até agora, estamos confiantes de que dê certo! O robô esta bem inovador e bem robusto. Provavelmente com algumas modificações, será o robô do RescueB.<br />
<br />
Soldar o sensor de luz, fazer os cabos do sensor de temperatura, concertar o PID dos motores, implementar a identificação da vitma e da rampa, adicionar algumas redundâncias e testar são coisas que ainda faltam fazer...</div>
Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com2tag:blogger.com,1999:blog-8233597687164841355.post-42546552090818557172012-05-13T01:37:00.001-03:002012-05-13T01:52:41.470-03:00Rescue B: Mecânica e Hardware<a href="http://techlego.blogspot.com.br/2012/04/rumo-ao-mexico-2012-rescue-b.html">Postei anteriormente</a> sobre o robô que estamos montando para participar do campeonato RescueB no México agora em Junho.<br />
<div>
<br /></div>
<div>
Daquele momento até agora ocorreram pequenas mudanças, e grandes avanços. Já estamos com todas as peças do robô em mãos, só falta literalmente colocar a mão na massa!</div>
<div>
<br /></div>
<div>
<span style="font-size: large;">Mecânica</span></div>
<div>
Cortamos a primeira "Versão" do robô em acrílico para ver todos os detalhes que passaram no projeto, e poder acertar tudo para uma segunda versão quase perfeita. Ainda semana que vêm cortaremos o robô novamente e teremos ele finalmente finalizado!</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-RgnrAM-OVAQ/T681GVEPF3I/AAAAAAAAANk/R1iIfENxQf0/s1600/Info_06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="398" src="http://2.bp.blogspot.com/-RgnrAM-OVAQ/T681GVEPF3I/AAAAAAAAANk/R1iIfENxQf0/s640/Info_06.png" width="640" /></a></div>
<div>
<br /></div>
<div>
Tivemos que esperar um pouco mais para esta segunda verção pois tínhamos esquecido de um detalhe muito importante no robô: Como existem áreas pintadas de preto no labirinto que indicam "Não passe", precisaríamos de um sensor de luz abaixo do robô para fazer essa leitura, e até aquele momento, não sabíamos nem qual sensor usar, se seria um sensor infra vermelho, LDR ou uma câmera. Optamos pelo LDR pois funciona muito bem para distancias maiores que 5mm, já que a rampa poderia encostar no sensor na hora da chegada no topo.</div>
<div>
<br /></div>
<div>
<span style="font-size: large;">Eletrônica</span></div>
<div>
No post passado não expliquei muito detalhadamente como funciona a varredura dos sensores, nem onde esta cada sensor no robô, então vou aproveitar para passar o máximo que puder de nossas idéias que estão presentes no robô.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-96Am9iSk8IE/T681taL9gnI/AAAAAAAAANs/Fw-qGaZC9eM/s1600/Info_07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://1.bp.blogspot.com/-96Am9iSk8IE/T681taL9gnI/AAAAAAAAANs/Fw-qGaZC9eM/s640/Info_07.png" width="640" /></a></div>
<div>
<br /></div>
<div>
Como já falei, removemos o NXT por ser grande e muito pesado. No lugar colocamos um celular Android 2.4Ghz, com tela de toque, facilitando configurações, visualização de sensores, e até mesmo registro de informações (Log) de erros e ações para debugar.</div>
<div>
<br /></div>
<div>
É no Android, que instalamos um Aplicativo desenvolvido especialmente para o campeonato, e que terá toda lógica do robô, desde leitura de sensores, até locomoção através do labirinto. Por ser rápido (2.4Ghz) nos permite usar algoritmos mais sofisticados como SLAM, e aumentar a precisão de todos os sensores com filtros de Kalman rodando quase que na velocidade da Luz.</div>
<div>
<br /></div>
<div>
O celular Android comunica-se por USB com uma Placa de Interface, que não tem lógica nenhuma de programação, e só serve para fazer o "intercâmbio" de dados entre os sensores, e o Android. Bem como enviar as ações para a outra placa que faz o controle da velocidade dos motores. Os sensores plugados na Interface são vários, como: Temperatura, Distância, Luz, Botão de Stop. Além de um servo motor que falarei no final.</div>
<div>
<br /></div>
<div>
A placa "motora", é conectada na Interface por I2C, e faz todo o trabalho braçal de manter a velocidade em cada um dos quatro motores constante, mesmo em situações extremas, como descida da rampa, ou subida. Ela utiliza algoritmo PID separadamente em cada um dos 4 motores.</div>
<div>
<br /></div>
<div>
<span style="font-size: large;">Sensores e Motores</span></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-KHQHw2Snxpo/T6839ybxoeI/AAAAAAAAAN8/ta9Up-gGRVc/s1600/Info_08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="http://2.bp.blogspot.com/-KHQHw2Snxpo/T6839ybxoeI/AAAAAAAAAN8/ta9Up-gGRVc/s640/Info_08.png" width="640" /></a></div>
<div>
<br /></div>
<div>
Um dos grandes desafios de ter um robô autônomo, que precisa estimar sua posição e "montar" um mundo virtual do que esta captando com seus sensores, é que não funciona com apenas uma leitura de distancia. Robôs de competições mais avançadas, utilizam sensores de varredura laser para fazer isso, mas como não temos 15 mil reais sobrando (se vocês tiverem, aceitamos doações), tivemos que desenvolver nosso próprio "varredor" a infra vermelho...</div>
<div>
<br /></div>
<div>
Basicamente, colocamos todos os sensores em cima de um servo motor, que consegue girar até 180 graus sem problemas. Nesta base giratória de sensores que fica em cima do servo, estão: 4 sensores de infra vermelho de distância, dois sensores infra vermelho de temperatura e o botão que usaremos para dar início e pausa ao programa, sem atrapalhar a leitura dos sensores. A lógica é a seguinte: gire o servo, e terá até quantas leituras quiser dos sensores, para ângulos diferentes relativo ao robô, sem ter que realmente "girar" o robô no próprio eixo, podendo derrapar, travar...</div>
<div>
<br /></div>
<div>
Da vez passada tivemos muitos problemas com os sensores de ultra som, já que só conseguem medir corretamente em superfícies quase perpendiculares a eles. Desta vez, usaremos sensores de Infra vermelho para medir distâncias, por funcionarem até em chuva de meteórios.</div>
<div>
<br />
<span style="font-size: large;">Próximos passos</span><br />
Precisamos finalizar o robô e soldar as placas eletrônicas para dar fim à parte "mecânica" da coisa.<br />
Feito isso terminaremos a programação de base do robô, com funções básicas de leitura, varredura, locomoção. Tendo a "base" feita em programação, é só alegria para implementar a lógica!<br />
<br />
Até a próxima pessoal! Me digam se estão gostando dos posts, se quiserem saber mais sobre qualquer detalhe que não mencionei podem perguntar!</div>
<div>
<br /></div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com7tag:blogger.com,1999:blog-8233597687164841355.post-76500827692407682552012-05-13T00:51:00.000-03:002012-05-13T00:51:17.144-03:00FLL World Festival e Open FloridaMês passado tive a oportunidade de viajar com duas equipes de robótica da First Lego League, que conquistaram o prêmio de 1o e 3o lugar no Brasileiro à dois campeonatos que aconteceram em St Louis e na Flórida.<br />
<br />
<a href="http://2.bp.blogspot.com/-ZtvPhEmspnU/T68vNmhfpMI/AAAAAAAAANQ/hjCKEF5bS7g/s1600/IMG_20120427_151858.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="480" src="http://2.bp.blogspot.com/-ZtvPhEmspnU/T68vNmhfpMI/AAAAAAAAANQ/hjCKEF5bS7g/s640/IMG_20120427_151858.jpg" width="640" /></a>O campeonato durou 3 dias no primeiro, e 4 dias no segundo, foi uma oportunidade muito boa para conhecer equipes do mundo todo, como pessoas muito importantes: Dean Kamen, criador do Segway, e fundador da FIRST que organiza a FLL. Presidentes e diretores da Google, Boeing...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-dN4r_GPdkvA/T68vQ5rghHI/AAAAAAAAANY/HlAv35gX8Rc/s1600/IMG_20120427_152919.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="http://2.bp.blogspot.com/-dN4r_GPdkvA/T68vQ5rghHI/AAAAAAAAANY/HlAv35gX8Rc/s640/IMG_20120427_152919.jpg" width="640" /></a></div>
<br />
O campeonato envolve não só a construção e programação de um robô autônomo, mas também contam pontos uma pesquisa (que precisa ser inovadora) sobre o tema proposto no ano. O tema deste ano foi "Food Factor", que envolve a contaminação de alimentos no transporte até você.<br />
<br />
Meu primeiro contato com robótica foi com este campeonato até 2010, onde nossa equipe (Emerotecos) participou do World Festival em 2009. Desta vez fui como apoio às equipes Rio Preto Robotic Team e Tecnobody, que ganharam os prêmios de 3o e 2o lugar em programação. Parabéns!Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com0tag:blogger.com,1999:blog-8233597687164841355.post-54634728765337388272012-04-07T21:52:00.000-03:002016-01-12T19:17:52.954-02:00Rumo ao México 2012: Rescue B<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-BQhq50ccPyw/T-kQgwRbh6I/AAAAAAAAAOs/RjytiiEWJyE/s1600/Robocup2012_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://3.bp.blogspot.com/-BQhq50ccPyw/T-kQgwRbh6I/AAAAAAAAAOs/RjytiiEWJyE/s400/Robocup2012_01.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
No mês de Junho nossa equipe <a href="http://www.emerotecos.com/">Emerotecos </a>irá para o México participar do campeonato mundial de robótica da RoboCup Rescue B.<br />
<br />
Vou falar um pouco sobre esse "robô" que estamos fazendo, mas antes um pouco de como funciona o campeonato.<br />
<br />
<br />
<span style="font-size: x-large;">O campeonato</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-GWPQF_vep2s/T4DTbxo0X8I/AAAAAAAAAL0/vLYLbF7aX_c/s1600/arena_rescueb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://3.bp.blogspot.com/-GWPQF_vep2s/T4DTbxo0X8I/AAAAAAAAAL0/vLYLbF7aX_c/s320/arena_rescueb.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Exemplo de arena da competição</div>
<br />
A competição em teoria, é a simulação de um resgate de vítimas em um prédio. O objetivo principal, é "resgatar" essas vítimas colocadas no "prédio".<br />
<br />
A arena (foto) é composta por 2 andares, conectados por uma rampa. Em cada andar, são colocadas paredes verticais criando um labirinto. As vítimas que são aquecidas eletricamente são colocadas nas paredes desse labirinto, em qualquer lugar da arena, e em qualquer andar.<br />
<br />
O robô começa em um lugar qualquer que o juiz queira, e o robô deve seguir autonomamente procurando as vítimas presentes, e quando achadas, deve "avisar" com alguma luz, que achou uma vítma.<br />
<br />
A pontuação e detalhes da competição podem ser vistos aqui em ingles: <a href="http://goo.gl/PqrN9">http://goo.gl/PqrN9</a><br />
<br />
<span style="font-size: large;">O problema</span><br />
<br />
Um dos maiores problema que lidamos, é achar TODAS as vítimas de forma mais rápida possível. O objetivo principal não é chegar na saída, e sim percorrer todas as paredes do labirinto para achar todas as vítimas possíveis. O número de vitimas não é divulgado, até que o robô entre na arena, bem como a "forma" do labirinto, só é sabido na hora do round.<br />
<br />
Além de tudo, podem existir obstáculos irregulares no labirinto, oque dificulta locomover o robô no meio de tudo. E por fim, o robô não pode ficar por mais de 5 segundos em "dead-ends", que seriam rotas sem voltas, mostrados em cinza escuro na imagem.<br />
<br />
<br />
<span style="font-size: x-large;">O robô: mecânica</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-NI__yUcel_g/VpVswo41M-I/AAAAAAAAFKc/A8DGz6-t3cg/s1600/Sistema_omni_direcional.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://2.bp.blogspot.com/-NI__yUcel_g/VpVswo41M-I/AAAAAAAAFKc/A8DGz6-t3cg/s400/Sistema_omni_direcional.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
Este ano, estamos removendo inteiramente a necessidade do NXT. Eu amo esta plataforma, e acho ela muito boa de se trabalhar, mas para este caso, não teríamos espaço para usar os motores da lego, e o NXT com 6 pilhas ficaria pesado.<br />
<br />
Optamos por criar do zero, um robô feito para o Rescue B (foto). Ele é feito por 2 camadas de acrílico 5mm, e vigas em baixo para sustentar o motor, e a eletrônica.<br />
<br />
As rodas Mecanum, parecidas com o sistema omni-direcional, funciona do mesmo modo, mas pode ser montado de forma paralela (4 rodas), dando total liberdade de movimentação e giro para o robô, sem a necessidade de coloca-las em ângulos de 120 ou 90 graus.<br />
<br />
O servo motor que fica no centro da segunda camada, suporta todos os sensores, dando a eles uma maior liberdade de "visão", e mais facilidade na hora de fazer as leituras.<br />
<br />
O tamanho do robô é de 20x20cm, e sua largura máxima é 24cm (o espaçamento das paredes são de 30cm) permitindo ele girar no próprio eixo, sem tocar em nenhuma das paredes.<br />
<br />
Preferimos utilizar Acrílico 5mm, pois já fizemos testes e constatamos que é resistente para este tamanho de peça, e super fácil de se fabricar (cortamos a Laser na <a href="http://www.copyexpress.com.br/">CopyExpress</a>), e possui precisão de centésimos de milimetro.<br />
<br />
Todos os desenhos das peças foram feitos no SolidWorks, estas fotos são as renderizações feitas, e não o robô real, ainda!<br />
<br />
<br />
<span style="font-size: x-large;">O robô: Eletrônica</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-mDmNKgf7_lk/VpVtLOTueWI/AAAAAAAAFKs/0vv8IPudbxE/s1600/Info_04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="http://1.bp.blogspot.com/-mDmNKgf7_lk/VpVtLOTueWI/AAAAAAAAFKs/0vv8IPudbxE/s400/Info_04.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
Sim, este é um celular! Como estamos pensando em usar algoritmos bem pesados este ano, e não queremos ter barreiras de processamento, resolvemos colocar um celular Android para processar tudo isso em tempo real. Android, pois podemos programar em Java sem problema algum, e ainda contamos com uma tela LCD, câmera, e claro, um painel de toque, perfeito para fazer configuradões iniciais e visualizar em tempo real oque ele "pensa".<br />
<br />
Como o celular não consegue acionar os motores, ler os sensores de luz, temperatura, e controlar a posição dos encoders (leitura dos graus do motor), subdividimos em 3 placas basicamente.<br />
<br />
Para alimentar todo o robô, incluindo sensores, motores e placas, colocamos uma bateria de lipo, 11.1v que consegue suportar até 65A de corrente, e é bem leve comparada a 6 pilhas (usadas no NXT).<br />
<br />
<span style="font-size: large;">Interface</span><br />
<br />
Responsável por interligar o Android via USB com a placa <a href="https://github.com/ytai/ioio/wiki">IOIO</a>, que por sua vez, comunicará com as outras duas placas responsáveis por Locomoção, e Sensoreamento.<br />
<br />
<span style="font-size: large;">Locomoção</span><br />
<br />
Contamos com 4 motores, um para cada roda, já que o sistema omni-direcional Mecanum, necessita de um controle independente para cada roda. Cada motor possui uma força de 6kg, e consegue ler 3592 passos do encoder por volta do eixo final (redução de 75:1).<br />
<br />
Para processar todos esses "passos" de motores, sem perda de nenhum deles devido a falta de processamento, colocamos uma placa MBED que possui um ARM Cortex M3, rodando a 100Mhz.<br />
<br />
Esta placa seria também responsável por controlar a velocidade dos motores.<br />
O protocolo que iremos utilizar, para ler os encoders da Interface, e setar as velocidades sera <a href="http://www.i2c-bus.org/fastmode/">I2C Fast</a>, visto que ambas suportam o modo "Fast".<br />
<br />
A placa MBED, possui contador de encoder interno para somente 3 motores, logo precisaremos fazer para 1 motor a contagem via software (Se a NXP ler isso, poderiam colocar 4 da próxima vez!).<br />
<br />
<span style="font-size: large;">Sensoreamento</span><br />
<br />
O algoritmo que vamos utilizar, necessita de varias medidas de distancia ao redor do robô, para isso colocamos nessa placa, um Arduíno, que ira controlar um servo motor, que movimenta todos os sensores do topo do robô. Rotacionando 90º, teremos 360º de medidas já que utilizamos 4 sensores de infra vermelho de distância, e 180º de leituras de temperatura (mais que o necessário).<br />
<br />
Esta placa seria responsável por fazer as medidas, filtrar, e enviar para a Interface via I2C. Estamos pensando em talvez usar Serial comum.<br />
<br />
<span style="font-size: large;">IMU</span><br />
<br />
Além de todos esses sensores, ainda temos uma "carta na manga".<br />
<br />
Temos uma IMU (Inertial Measurement Unit) de 9 eixos. É basicamente uma unidade que possui: giroscópio de 3 eixos, acelerômetro de 3 eixos e magnetômetro de 3 eixos, dando ao robô um completo modo de saber com muita precisão, sua posição, e angulo em relação a todos os eixos.<br />
<br />
<br />
<span style="font-size: x-large;">O robô: Software</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-ABq3kOB-Ywo/VpVtdl35daI/AAAAAAAAFK0/kcoiUHlk9TQ/s1600/Screen%2BShot%2B2012-06-23%2Bat%2B10.21.19%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://4.bp.blogspot.com/-ABq3kOB-Ywo/VpVtdl35daI/AAAAAAAAFK0/kcoiUHlk9TQ/s320/Screen%2BShot%2B2012-06-23%2Bat%2B10.21.19%2BPM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Ainda não temos nada concreto, de qual algoritmo vamos usar, sabemos que temos todas as ferramentas necessárias (Mecânica e hardware) para fazer oque precisarmos, mas não decidimos "como" vamos utilizar isso tudo, para conseguir se locomover e achar todas as vítimas no menor tempo possível.<br />
<br />
Normalmente, escrevemos todo código em C, desta vez, utilizaremos o C para a placa de sensoreamento (Arduino Nano), C++ para a MBED, e Java (e C++) para o Android.<br />
<br />
<br />
<span style="font-size: x-large;">A viagem</span><br />
<br />
Viajaremos de 16 à 27 de junho, temos já 2 passagens doadas pela <a href="http://www.novadidacta.com.br/">NovaDidacta</a>, Cortes a Laser oferecidos pela <a href="http://www.copyexpress.com.br/">CopyExpress</a> e componentes eletrônicos da <a href="http://www.proesi.com.br/site/?s=emerotecos">Proesi</a>.<br />
<br />
Precisamos de 30 mil para que isso tudo consiga chegar até o México, junto com:<br />
Felipe Nascimento (nosso técnico), Hudson Cássio (nosso mentor), André Seidel, Ivan Seidel, Gabriel Lima e Matheus Canejo.Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com8Av. Leitão da Silva, 1 - Bento Ferreira, Vitória - ES, 29050-045, Brasil-20.3153602 -40.3017673-20.374924200000002 -40.3807313 -20.2557962 -40.2228033tag:blogger.com,1999:blog-8233597687164841355.post-13319540026101784862012-04-07T20:49:00.000-03:002012-04-07T20:49:06.136-03:00Desculpem a paralisação do blog!Olá leitores!<br />
Estive ausente por um tempo pois estive muito ocupado com o final do semestre (sim, final do semestre em até abril!). Lembram que entrou em greve? pois bem, acabo de "terminar" o semestre nesse mês agora, e tudo deve voltar ao normal!<br />
Vídeos, fotos e posts!<br />
Estou com projetos aos montes, e pretendo postar somente quando terminados, se não acabo enrolando vocês de mais!<br />
Desculpem esse gap de posts,<br />
IvanIvan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com0tag:blogger.com,1999:blog-8233597687164841355.post-56245118096147077502011-12-30T14:16:00.000-02:002011-12-31T08:54:27.820-02:00Barco autônomo: Android, NXT, RF e AlgoritmossOlá!<br />
Agradeço a todos por estarem divulgando o blog, comentando e assistindo aos vídeos! Isso me faz dar continuidade com as engenhocas que faço.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-3r_mw41mit8/Tv7hKwuio_I/AAAAAAAAAKo/26xnYYY8Vd0/s1600/SAM_4644.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="325" src="http://3.bp.blogspot.com/-3r_mw41mit8/Tv7hKwuio_I/AAAAAAAAAKo/26xnYYY8Vd0/s640/SAM_4644.JPG" width="500" /></a></div>
<br />
Pois bem, não ouviram falar do barco a um tempo não é? Para os que não sabem, é basicamente um barco (de 1m) que navega autonomamente dada uma trajetória, guiado por um sensor de GPS e uma bussola.<br />
<br />
Vou comentar aqui, as novidades para o projeto, como oque tenho feito desde a ultima postagem.<br />
<br />
<span style="font-size: large;">O algoritmo</span><br />
Criei meu próprio algoritmo de navegação, baseado em um simples PID, que é auto ajustável.<br />
Ele funciona, para manter o barco no "rumo", já que existe vento, ondas, atrito e resistência do ar, se não houver um controle ideal, ele faria sempre uma parábola, e como a menor distancia entre dois pontos é uma reta, ele não estaria sendo econômico.<br />
<br />
<span style="font-size: large;">O hardware</span><br />
Adoro ver a junção dos dois melhores controladores que já vi, NXT e Arduíno. Como uso nos campeonatos, também usei no barco pois precisava controlar 2 servo motores, coisa que o nxt nao faz, mas o Arduíno faz rindo. Como também, precisava de bluetooth (já vão entender porque), coisa que o NXT já possui integrado. Além dos sensores de Bussola e GPS, que já possuo para o NXT.<br />
Fiz um teste com um motor de 50A, controlado pelo Arduíno, que era controlado pela bussola do NXT, funcionou perfeitamente!<br />
Quanto ao hardware, ele esta pronto, só faltando mesmo fixar as partes no barco.<br />
Aqui esta o vídeo (bem simples) do funcionamento do hardware<br />
<br />
<div style="text-align: center;">
<object height="306" width="490"><param name="allowfullscreen" value="true" />
<param name="movie" value="http://www.facebook.com/v/252811751443811" />
<embed src="http://www.facebook.com/v/252811751443811" type="application/x-shockwave-flash" allowfullscreen="true" width="490" height="306"></embed></object>
<br />
<br /></div>
<br />
<span style="font-size: large;">Android e bluetooth</span><br />
Pois bem, me deparei com um problemão de começo. Se quisesse modificar a rota no lugar que estivesse (Praia, lago, piscina...) eu teria de ter internet, depois pegar a coordenada da latitude e longitude no computador para cada ponto, fazer uma lista destas coordenadas num arquivo de texto, importar para o NXTe fazer uma nova compilação do programa.<br />
Ou seja, nada "simples", muito menos eficiente.
A idéia que tive, foi fazer um aplicativo para o Android, que basicamente, possui uma lista de coordenadas onde posso modificar, deletar, adicionar e visualizar isso tudo sobre um mapa da google no próprio celular android.<br />
Adicionar um ponto da rota é basicamente clicar sob o mapa. Enviar isso tudo para o NXT, seria só clicar em "enviar para NXT". Ele transforma aqueles pontos para dados txt, e envia para o NXT via bluetooth.<br />
Fiz um teste de comunicação com o bluetooth do android com o NXT e funcionou perfeitamente, usando o RobotC.<br />
Algumas telas do app para o android (em desenvolvimento...)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-1lzeStWLXXQ/Tv7hd9gjcXI/AAAAAAAAAK0/DKw9LWJnLx0/s1600/device-2011-12-31-081552.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-1lzeStWLXXQ/Tv7hd9gjcXI/AAAAAAAAAK0/DKw9LWJnLx0/s320/device-2011-12-31-081552.png" width="192" /></a><a href="http://2.bp.blogspot.com/-eTYstkPImi8/Tv7heAYRCnI/AAAAAAAAAK8/cj1dRxztoLw/s1600/device-2011-12-31-081623.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-eTYstkPImi8/Tv7heAYRCnI/AAAAAAAAAK8/cj1dRxztoLw/s320/device-2011-12-31-081623.png" width="192" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<span style="font-size: large;">Segurança</span><br />
Como sou ma pessoa que pensa muito no tal do "o que pode acontecer de pior?", ou seja, na infeliz da Lei de Murphy, previ algo como o modo automático "sem querer" virar 180º e se dirigir para china, sem querer.<br />
Para ter controle sobre essas "cagadas", montei um sistema RFSafe, onde o Arduíno, controla os servos, apenas SE o receptor de rádio frequência do controle remoto estiver desligado (quando desligamos de um lado, ele desliga do outro).<br />
Então, se quiser deixar no modo autônomo, desligue o controle. Se quiser colocar no modo manual, é só ligar o controle que o NXT e Arduíno não estarão mais no controle a situação.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-8z7Eixpl5Dw/Tv7n6M8tt2I/AAAAAAAAALI/YcCexEfQypY/s1600/SAM_4645.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="325" src="http://3.bp.blogspot.com/-8z7Eixpl5Dw/Tv7n6M8tt2I/AAAAAAAAALI/YcCexEfQypY/s400/SAM_4645.JPG" width="500" /></a></div>
<br />
<br />
Quero montar um vídeo completo do barco, só quando realmente estiver funcionando.<br />
<br />
Se tiverem duvidas, dicas, ou qualquer outro comentário que queiram fazer eu aprecio bastante!<br />
Um abraço a todos.Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com4R. Des. Nilton Thevenard - Mata da Praia, Vitória - ES, 29065-690, Brasil-20.278727 -40.2930161-20.280589 -40.295483600000004 -20.276865 -40.2905486tag:blogger.com,1999:blog-8233597687164841355.post-13918282100383853472011-11-28T20:00:00.000-02:002011-11-30T12:34:36.152-02:00Algoritmo PID: BásicoA pedido de muitos (por MSN, Facebook, amigos...), publico o vídeo explicativo de "PID".<br />
<br />
O vídeo mostra o básico da capacidade do algoritmo, e um modo de implementar no próprio NXT, um algoritmo "P" simples.<br />
<br />
<b>Now with English Subtitles! Just enable it on the "YouTube Player" and you will have subtitle in English.</b><br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/7BDjZYGHupE" width="560"></iframe>
</div>
<br />
Se tiverem qualquer dúvida, podem mandar via E-mail, comentário neste post, Telefone, Fax, telegrama... que eu respondo!<br />
<br />
Obrigado aos 21mil visitantes do blog! Espero que gostem! Comentem se puderem...<br />
Ivan Seidel GomesIvan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com11R. Aprígio Vieira Gomes, 77-145 - Mata da Praia, Vitória - ES, 29065-140, Brasil-20.278461166841446 -40.292401313781738-20.279392166841447 -40.293635313781735 -20.277530166841444 -40.291167313781742tag:blogger.com,1999:blog-8233597687164841355.post-20207588946061950952011-11-26T18:55:00.000-02:002011-11-26T18:55:07.596-02:00Próximo vídeoOlá pessoal!<br />
<br />
Estou nervoso querendo fazer um vídeo, mas são tantas as idéias que nem sei qual escolher!<br />
Por enquanto estou entre:<br />
<br />
<ul><li>PID</li>
<li>Sensor de ultra som</li>
</ul>Mas queria perguntar a vocês, oque gostariam de ver, se tem outras idéias legais que seja possivel fazer!<br />
<br />
Podem postar em forma de comentário a este post, que escolherei o que agrade a mais pessoas.Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com6tag:blogger.com,1999:blog-8233597687164841355.post-5589117844743462432011-11-17T16:35:00.001-02:002011-11-17T16:40:24.766-02:00Volta as aulasOlá caros leitores!<br />
Para os que não ficaram sabendo, fiquei 3 meses sem aula devido a greve de professores no IFES.<br />
<br />
Resumidamente: Minha escola voltou da infeliz da greve, e agora estamos com um delay de 90 dias.<br />
<br />
Possiveis soluções:<br />
<ul><li>Fazer um Overclock</li>
<li>Dar um Ctrl+Z e mostrar aos professores que não iria adiantar fazer a greve, e nunca começa-la</li>
<li>Passar janeiro estudando</li>
<li>Sentar e chorar</li>
</ul>Vamos ver no que da!<br />
AbraçosIvan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com1tag:blogger.com,1999:blog-8233597687164841355.post-89553467936195274832011-10-31T23:27:00.001-02:002011-11-03T22:09:45.141-02:00Tempo, e projetos a virComo devem ter percebido, ando meio afastado do blog. Não, não cansei de fazer vídeos e escrever sobre as "coisas", pelo contrário, quero fazer mais vídeos e tutoriais, porém, este mês (e o anterior, e o anterior) minha escola esteve de greve, o IFES, e por isso não quis esperar a greve voltar fazendo nada, e aproveitei minha chance para vir para São Paulo, fazer um estágio na LEGO ZOOM, mais na área de torneios (FLL), e na area de desenvolvimento, graças ao Danilo que cuida de toda parte de regras e organização da maioria dos torneios FLL .<br />
Estive com <a href="http://www.arthursacek.com/">Sacek</a>, um cara muito gente boa, e que é literalmente "O cara" em montagens LEGO. Se entrarem no site dele, verão as coisas que ele faz! você fica bobo.<br />
Como sou aficionado em Programação, dei uma ajudinha na programação da fresa CNC feita de LEGO.<br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/pX1cO2XhMrg" frameborder="0" allowfullscreen></iframe><br />
Usamos Java para programar a fresa, e ficou bem legal, mas ainda não 100%<br />
Minhas esperanças de acabar a fresa junto com ele haviam acabado, já que minha escola supostamente iria voltar nesta segunda feira, mas surpreendentemente, não voltou, e é capaz de não voltar mais este ano.<br />
Posto sobre os avanços nos projetos quando voltar para casa!<br />
Abraços a todosIvan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com1tag:blogger.com,1999:blog-8233597687164841355.post-34088073642681414912011-10-08T09:43:00.000-03:002011-10-08T09:43:05.563-03:00Guerra de robôs: RoboCoreOlá pessoal!<br />
Como minha escola anda de greve ultimamente, ah mais ou menos 60 dias, cansei de esperar, e vim fazer um estagio em São Paulo, na Lego Zoom, para ajudar nos Torneios FLL.<br />
Vinicius Milani, um amigo meu, que estava montando um robô de sumô para a RoboCore, pediu minha ajuda na programação, e acabei sendo convidado para vir com ele para o evento.<br />
Acontece em Itajubá, MG, de 7 até 10 de outubro, e reune diversos tipos de competiçoes, incluindo: Seguidor de linha, rockey, e a famosa "Luta de robos", que voa pecas, explode, e tudo isso que voce pensou ai...<br />
Ver os robôs na arena, se batendo é além de tenso, muito legal.<br />
Para saberem mais sobre o campeonato, acesse: www.robocore.net.Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com3tag:blogger.com,1999:blog-8233597687164841355.post-13509576320427040582011-09-30T19:49:00.000-03:002011-09-30T19:49:46.035-03:00Rumo ao México em 2012!<span class="Apple-style-span" style="background-color: white; font-size: large; line-height: 20px;"><span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px;"></span></span><br />
<a href="http://2.bp.blogspot.com/-iggnwtBiOGI/TngMgsBiQ0I/AAAAAAAABBU/p36P_cjlnSA/s1600/img-8.jpg" imageanchor="1" style="clear: left; color: #8a2e2e; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="240" src="http://2.bp.blogspot.com/-iggnwtBiOGI/TngMgsBiQ0I/AAAAAAAABBU/p36P_cjlnSA/s320/img-8.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; cursor: move; position: relative;" width="320" /></a><span class="Apple-style-span" style="background-color: white; font-size: large; line-height: 20px;">O Evento</span><br />
<span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">No dia 18 de Setembro de 2011 foram iniciadas em São João Del Rei as competições de robótica que ocorrem junto com o X SBAI. São provas da Competição Brasileira de Robótica (CBR) e da Olimpíada Brasileira de Robótica, além da Mostra Nacional de Robótica (MNR).<br />
<br />
Muitas equipes, de todo o Brasil, estão participando das competições e da mostra. O evento é bem grande e muito animado, com competições envolvendo alunos de todos os níveis (fundamental, médio e superior) em diversas categorias. São competições de futebol de robôs (várias categorias), resgate, dança, entre outras. Em todas as provas os robôs devem operar de forma totalmente autónoma, tomando decisões com base apenas em seus sensores e em sua programação.<br />
<br />
No dia 18 começaram as competições de algumas categorias da CBR. No dia seguinte foram iniciadas as competições da OBR, em que a nossa equipe Emerotecos participou, assim como os trabalhos da Mostra Nacional de Robótica. Tem muita coisa interessante por aqui! Deixo algumas fotos.</span></span><br />
<span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-size: large;">O Rescue A</span><div><br />
<div><a href="http://4.bp.blogspot.com/-N6NW6CxW1QY/TngMP2jx9YI/AAAAAAAABA8/JjNqhvpjJsg/s1600/img-2.jpg" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://4.bp.blogspot.com/-N6NW6CxW1QY/TngMP2jx9YI/AAAAAAAABA8/JjNqhvpjJsg/s320/img-2.jpg" /></a>A categoria da OBR, por falta de sorte, e muita lei de Murphy não nos demos muito bem.<div><br />
O robô, pra falar a verdade, foi o melhor que já montamos. Ficou compacto, simples e muito eficiente.<br />
<br />
A programação ficou com 2500 linhas, sem contar includes de movimentação, sensores...<br />
<br />
Haviam no NXT:<br />
<ul><li>1 Arduino com:</li>
<ul><li><span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">3 sensores de Ultrasom</span></span></li>
<li><span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">1 sensor de toque</span></span></li>
<li><span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">4 motores do VEX</span></span></li>
</ul><li><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">1 Sensor de Bússola</span></span></li>
<li><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">1 Sensor Acelerometro</span></span></li>
<li><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">1 Sensor de linha, com 8 sensores de luz</span></span></li>
</ul><div><br />
</div>Um das coisas, que fiz e aprovei, foi uma função "getSafe", que multiplexa o timer interno do NXT para 'n' valores, e te retorna se esta ou não estourado. É bem simples, e as vantagens são imensas! Toda tarefa, que envolvia "agarramento" em alguma coisa real como: quinas, quebra molas na faixa, subidas de rampa... Eu colocava esta tal segurança, que se detectasse um limite imposto, continuava o programa. Isso salvou algumas vezes o robô...<div><br />
Outra coisa que usei também no campeonato passado, e sempre aconselho usar: um programa de inicialização, que faz a checagem de todos os sensores, motores e afins, que podem por erro humano, estar desconectado. Neste programa, o NXT checava: <br />
<ul><li><span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">Motores próprios</span></span></li>
<li><span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">Sensores I²C</span></span></li>
<li><span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">Motores VEX</span></span></li>
</ul>E se alguma coisa estiver errada, ele mostra na tela o erro, e a possível solução. Quantas vez, ligava o NXT, e o cabo do sensor estava invertido com outro? muitas! e isso salvou também.</div><div><br />
Enfim, são detalhes que de fato não alteram o robô na hora da competição, mas te da uma segurança maior antes do início.</div><div><br />
O robô utilizava PID para diversas tarefas:</div><div><ul><li><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;">Seguir parede</span></li>
<li><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">Seguir linha</span></span></li>
<li><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">Girar ângulos precisos com a bússola</span></span></li>
<li><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">Controle da velocidade angular das rodas</span></span></li>
<li><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">Andar em linha reta, com base no erro da bússola</span></span></li>
</ul><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;">Isso deu ao robô, maior precisão nas tarefas, e com menos oscilações, uma maior precisão nas leituras dos sensores.</span></span><br />
<span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;"><br />
</span></span><br />
<span class="Apple-style-span" style="background-color: white; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit; font-size: large;">O Rescue B</span></span><br />
<a href="http://3.bp.blogspot.com/-PRopBFeIR20/TngMNwaMFYI/AAAAAAAABA4/9RGIkETRL-Y/s1600/img-1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-PRopBFeIR20/TngMNwaMFYI/AAAAAAAABA4/9RGIkETRL-Y/s320/img-1.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; position: relative;" width="320" /></a><br />
<span class="Apple-style-span" style="font-family: inherit;">Como foi o primeiro ano em que foi realizado esta categoria no Brasil, foi apenas uma demonstração.</span><div>O robô ficou bem pequeno, leve e como todos, utilizava a plataforma NXT-Arduino que fiz. Possuía 3 sensores de ultrasom, 1 bússola e 1 acelerômetro.</div><div>As vítimas, por ser apenas demonstração, não foram colocadas, e portanto tiramos os sensores Infra Vermelho de temperatura.</div><div>Ficamos em 1º lugar, e garantimos a vaga no mundial em 2012</div><div><span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="font-family: inherit;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: inherit; font-size: large;">O Soccer</span><div><span class="Apple-style-span" style="font-family: inherit;">A principio, iríamos participar em 3 categorias diferentes, mas por falta de tempo, o robô do Soccer não pode ficar pronto a tempo, e tivemos que ir preparados só para o Rescue A e B. Porém no evento nos unimos à equipe de São Paulo e Pernambuco, para melhorar o robô deles. Ajudei com sensores, e a placa do Arduino com conexão com o NXT, Viramos uma noite inteira trabalhando nas actualizações, como: programação, lógica, mecânica e sensores.</span><div><span class="Apple-style-span" style="font-family: inherit;"><br />
Nas finais, conseguimos ficar em 1º lugar, o que nos deu o direito de competir no mundial em 2012, e com os nossos amigos de São Paulo e Pernambuco.</span></div></div></div><div><span class="Apple-style-span" style="font-family: inherit;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: inherit; font-size: large;">O mundial</span></div><div><span class="Apple-style-span" style="font-family: inherit;">O mundial agora vai ser no México! Estamos sem patrocinadores no momento, e pesquisando pessoas que suportem nossa equipe lá fora.</span></div><div>Se o mundo não acabar ano que vem, estaremos lá...</div><div><span class="Apple-style-span" style="font-family: inherit;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: inherit; font-size: large;">Social</span></div><div>Adoro participar de competições assim, pois conhecemos gente que gosta dessa area também!</div><div>Desejo ao pessoal de Pernambuco, São Paulo, Brasilia, Bahia, Minas Gerais e as outras pessoas com quem conversamos, um abraço. Espero encontrar vocês ano que vem novamente!</div><div><span class="Apple-style-span" style="font-family: inherit;"><br />
</span></div><div><span class="Apple-style-span" style="font-family: inherit; font-size: large;">Fotos e vídeos</span></div><div><span class="Apple-style-span" style="font-family: inherit;">Deixo algumas fotos aqui, e o vídeo eu faço mais pra frente.</span></div><div><span class="Apple-style-span" style="font-family: inherit;">Um abraço a todos, e até a próxima!</span></div><div><span class="Apple-style-span" style="font-family: inherit;"><span class="Apple-style-span" style="background-color: white; font-size: 15px; line-height: 20px;"><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-PRopBFeIR20/TngMNwaMFYI/AAAAAAAABA4/9RGIkETRL-Y/s1600/img-1.jpg" imageanchor="1" style="clear: right; color: #8a2e2e; float: right; margin-bottom: 1em; margin-left: 1em; text-decoration: none;"><span class="Apple-style-span" style="font-family: inherit;"></span></a></div><span class="Apple-style-span" style="font-family: inherit;"><br />
</span><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-dkYbUpmIJEU/TngMUUH5NXI/AAAAAAAABBA/pBY1D4KiqAY/s1600/img-3.jpg" imageanchor="1" style="clear: left; color: #8a2e2e; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><span class="Apple-style-span" style="font-family: inherit;"><img border="0" height="240" src="http://1.bp.blogspot.com/-dkYbUpmIJEU/TngMUUH5NXI/AAAAAAAABBA/pBY1D4KiqAY/s320/img-3.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; position: relative;" width="320" /></span></a></div><span class="Apple-style-span" style="font-family: inherit;"><br />
</span><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-qGAC2AxyHiw/TngMYptG2HI/AAAAAAAABBI/YMjLf_OjhUg/s1600/img-5.jpg" imageanchor="1" style="clear: right; color: #8a2e2e; float: right; margin-bottom: 1em; margin-left: 1em; text-decoration: none;"><span class="Apple-style-span" style="font-family: inherit;"><img border="0" height="240" src="http://2.bp.blogspot.com/-qGAC2AxyHiw/TngMYptG2HI/AAAAAAAABBI/YMjLf_OjhUg/s320/img-5.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; position: relative;" width="320" /></span></a></div><span class="Apple-style-span" style="font-family: inherit;"><br />
</span><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-dRDlPrPg1ug/TngMb3nPPUI/AAAAAAAABBM/-jaw8cNI9GA/s1600/img-6.jpg" imageanchor="1" style="clear: left; color: #8a2e2e; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><span class="Apple-style-span" style="font-family: inherit;"><img border="0" height="240" src="http://1.bp.blogspot.com/-dRDlPrPg1ug/TngMb3nPPUI/AAAAAAAABBM/-jaw8cNI9GA/s320/img-6.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; position: relative;" width="320" /></span></a></div><span class="Apple-style-span" style="font-family: inherit;"><br />
</span><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-gG9TL8E1BPI/TngMfJeX5zI/AAAAAAAABBQ/qaLS3i3pTEE/s1600/img-7.jpg" imageanchor="1" style="clear: right; color: #8a2e2e; float: right; margin-bottom: 1em; margin-left: 1em; text-decoration: none;"><img border="0" height="240" src="http://1.bp.blogspot.com/-gG9TL8E1BPI/TngMfJeX5zI/AAAAAAAABBQ/qaLS3i3pTEE/s320/img-7.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; position: relative;" width="320" /></a></div></span></span></div></div></div></div></div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com2tag:blogger.com,1999:blog-8233597687164841355.post-66010493838590119422011-08-24T10:16:00.001-03:002011-08-24T10:18:55.158-03:00Sensores: de LuzOlá pessoal,<br />
<div>Tive um surto ontem de madrugada para fazer um vídeo, e acabei fazendo mesmo... Comecei meia noite e terminei de editar 4h da manhã!</div><div><br />
</div><div>Já havia pensado nessa idéia a algum tempo, e queria compartilhar com vocês!</div><div><br />
</div><div>Este video mostra um jeito muito simples de se fazer um sensor de Luz, e como aplicar no NXT, PIC e Arduino da maneira mais simples possivel. Além disso, explico oque é um LDR, para que serve e como funciona.<br />
<br />
</div><div><div style="text-align: center;"><iframe allowfullscreen="" frameborder="0" height="345" src="http://www.youtube.com/embed/5-xeXnPyXjo" width="560"></iframe></div></div><div><br />
Quero fazer outros sobre sensores de temperatura, toque e se possível os próprios sensores da lego em funcionamento com o PIC e o Arduino.<br />
<br />
Se tiverem alguma dúvida podem comentar no próprio tópico mesmo.<br />
<br />
Além disso queria pedir a vocês para se inscrever no blog, não machuca, e é uma divulgação que faz crescer!<br />
<br />
Um abraço a todos e até o próximo post.</div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com11tag:blogger.com,1999:blog-8233597687164841355.post-40649281393566843992011-08-19T22:23:00.002-03:002011-08-19T22:24:18.290-03:00Vídeo explicativo do Rescue BComo já sabe, ou se não sabem podem saber <a href="http://techlego.blogspot.com/2011/05/novidades-para-o-blog.html">AQUI</a> sobre os campeonatos que vamos participar este ano.<br />
Um deles é o Rescue B, que fomos para o mundial competir, e agora estamos indo ao brasileiro competir novamente!<br />
O formato para se inscrever é atravéz de um vídeo, e um texto. Como gosto de criar vídeos, resolvi fazer um no estilo dos que sempre faço, fica ai o vídeo para os interessados, e espero que gostem!<br />
<br />
<div style="text-align: center;"><iframe allowfullscreen="" frameborder="0" height="345" src="http://www.youtube.com/embed/c6MhUIy7XNk" width="560"></iframe></div><br />
<br />
<div class="MsoNormal">O explicativo do robô enviado junto foi:</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><i>"Nosso robô foi construído com base no sistema Lego Mindstorms NXT, utilizando motores, e muitas peças presentes no kit. Além de lego, utilizamos também placas com Arduino Nano, que se comunicam com o NXT pelo protocolo I²C, além de sensores ultrasônicos e infravermelhos de distancia, e do sensor TIR, que é usado para identificar as vitimas (que aquecidas, emitem infravermelho, captável pelo TIR).</i></div><div class="MsoNormal"><i><br />
</i></div><div class="MsoNormal"><i>O bloco NXT foi programado em linguagem C, utilizando o compilador ROBOT C. Preferimos utilizar linhas de código em vez de linguagem gráfica (NXT-G) por ocupar menos espaço no controlador, e pelo compilador ser um software mais simples, fácil de ser executado em qualquer microcomputador. Os arduinos são responsáveis por realizar as leituras dos sensores ultrasônicos e do sensor TIR (sensor de temperatura por infravermelho).</i></div><div class="MsoNormal"><i><br />
</i></div><div class="MsoNormal"><i>No inicio, tivemos problemas para subir a rampa da arena com nosso robô, dificuldade que foi contornada mudando o sistema de tração que utilizávamos, em vez de duas rodas de borracha tracionando, uma de cada lado, adicionamos uma roda omnidirecional tracionando em cada lado para facilitar as curvas, e manter contato das rodas constantemente com o chão, mesmo subindo a rampa."</i></div><div class="MsoNormal"><i><br />
</i></div><div class="MsoNormal">Um abraço a todos, e até o próximo post!</div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com2tag:blogger.com,1999:blog-8233597687164841355.post-6894708665163625722011-08-04T14:35:00.000-03:002011-08-04T14:35:16.547-03:00Fora de casa nunca mais!<span class="Apple-style-span" style="font-size: large;"><b>O problema</b></span><br />
Não sei se vocês já passaram por uma situação como esta, de chegar em casa e notar que esqueceu a chave em algum lugar (muitas vezes dentro de casa mesmo), e tem que chamar algum chaveiro, ou ligar para sua mãe desesperadamente pedindo para ela trazer a chave e abrir para você. Ou talvez, por sua sorte tenha alguém em casa, que com certeza deve te encher o saco para você lembrar de sair com chave! (como minha irmã...)<br />
De qualquer forma, você sempre sai prejudicado (eu pelo menos saio).<br />
<br />
<b><span class="Apple-style-span" style="font-size: large;">A solução</span></b><br />
Foi pensando nisso, e nas horas acumuladas esperando lá fora, que tive a ideia de usar meus neurônios para alguma coisa útil. De um projeto no papel, para um esquematico no proteus, para uma placa de circuito impresso, e uma centena de linhas de programação.<br />
<br />
Juntando tudo isso deu algo assim:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-WKV2fZzYqHg/TjrT0aHHolI/AAAAAAAAAHg/Gywpoz8VgjA/s1600/Foto+Placa.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-WKV2fZzYqHg/TjrT0aHHolI/AAAAAAAAAHg/Gywpoz8VgjA/s320/Foto+Placa.JPG" width="320" /></a></div><br />
<br />
Pois é, fiz um porteiro eletrônico. Seu papel principal é não me deixar para fora de casa, e impedir que outras pessoas entrem na minha casa.<br />
É só eu não esquecer a senha, que tudo fica bem.<br />
<br />
<span class="Apple-style-span" style="font-size: large;"><b>Como funciona</b></span><br />
<br />
<a href="http://2.bp.blogspot.com/-6BfrYyORa34/TjrUZgd1_oI/AAAAAAAAAHk/QB1E_An7pwo/s1600/programa.jpg" imageanchor="1" style="clear: left; display: inline !important; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="160" src="http://2.bp.blogspot.com/-6BfrYyORa34/TjrUZgd1_oI/AAAAAAAAAHk/QB1E_An7pwo/s200/programa.jpg" width="200" /></a><br />
Você digita o * para digitar a senha, digita a senha, e se a senha bater com a que esta na memória dele, ele aciona um relé e abre o portão.<br />
O circuito é feito de modo que você possa deixar o "cérebro" dele dentro de casa, e somente os fios que ligam o teclado e os leds para fora, não deixando exposto o circuito que controla o portão (por segurança).<br />
<br />
<span class="Apple-style-span" style="font-size: large;"><b>O que foi preciso</b></span><br />
<br />
<a href="http://4.bp.blogspot.com/-w7onXSxU43o/TjrRMAf8DJI/AAAAAAAAAHc/3H--2wADWdY/s1600/Placas.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="160" src="http://4.bp.blogspot.com/-w7onXSxU43o/TjrRMAf8DJI/AAAAAAAAAHc/3H--2wADWdY/s400/Placas.jpg" width="400" /></a><br />
<br />
<ul><li>2 leds para ficar mais bonito, já que um circuito sem led não é um circuito.</li>
<li>Teclado matricial 4x3 para entrada de dados (1-9, * e #)</li>
<li>Relé 5v para acionar o portão e abrir a porta</li>
<li>PIC 16F877a para controlar todo o circuito e sistema</li>
<li>Regulador de tensão 5v para permitir entrada de diferentes tensões</li>
<li>Resistores, capacitores, cristais e terminais T-Block e SIL, e um botão para resetar o PIC</li>
<li>Placa de fonolite ou fibra virgem, material para corroer a placa e perfurar. Ou uma CNC que já faça tudo isso para você</li>
</ul><div>Além disso, foi preciso algumas horas para criação do esquemático da placa, programação e claro soldagem.</div><div>O circuito já tem a saida para gravação na própria placa (ICSP) oque facilita muito a vida.</div><div>Soquetes para a tensão, e para o portão, bem como os pinos para ligar no teclado (7 pinos) e nos leds (2 pinos cada).</div><div><span class="Apple-style-span" style="font-size: large;"><b><br />
</b></span></div><div><span class="Apple-style-span" style="font-size: large;"><b>Quero fazer também, como faz?</b></span></div><div>Estou deixando aqui, todo material necessário para vocês fazerem caso tenham o mesmo problema que eu, incluido Esquemático no ISIS, layout no ARES e programação no CCS.</div><div>É necessário já ter um conhecimento sobre corrosão de placas, soldagem e montagem.</div><div>O teclado matricial, pode ser feito também se você não encontrar algum como o mostrado na foto, ou não tiver paciência para esperar o seu chegar da china depois de 2 meses de espera.</div><div>Vai ser preciso também, fazer alguma alteração no circuito do portão da sua casa, isso ai não é tão difícil, mas também não é simples.</div><div>E claro, só funciona com portões eletrônicos né...</div><div><br />
</div><div><span class="Apple-style-span" style="color: #e69138; font-size: large;"><b><a href="http://uploading.com/files/df466511/Port%25C3%25A3o%2Bautom%25C3%25A1tico.rar/">Faça o Download aqui!</a></b></span></div><div><br />
</div><div><b><span class="Apple-style-span" style="font-size: large;">E agora?</span></b></div><div>Ainda não instalei o circuito no portão, mas devo fazer isso em algumas semanas, quando fizer posto novamente sobre a dificuldade pra instalar, e se resolveu um dos problemas da minha vida...</div><div>Mas por enquanto eu tenho que levar a chave. Droga.</div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com6tag:blogger.com,1999:blog-8233597687164841355.post-31287156540968349572011-07-14T18:13:00.006-03:002011-07-17T12:42:41.409-03:00Equipe Emerotecos em 7º lugar!<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-EtnHHyNH9Zs/Th9SXiPyJQI/AAAAAAAAAHQ/E9wJM5B6fHQ/s1600/05072011220%255B1%255D.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="311" src="http://3.bp.blogspot.com/-EtnHHyNH9Zs/Th9SXiPyJQI/AAAAAAAAAHQ/E9wJM5B6fHQ/s320/05072011220%255B1%255D.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Eu, Yan, Carmen Faria, Felipe Martins e Matheus em Istambul</td></tr>
</tbody></table>Viajamos dia 3 de Julho para o campeonato mundial de robótica, organizado pela RoboCup. Este ano o evento foi realizado em Istambul na Turquia onde também ocorreu outras diversas categorias da liga Júnior, e Major onde muitas das categorias envolvem o resgate de vítimas, e o futebol de robôs.<br />
<div><br />
</div><div><span class="Apple-style-span" style="font-size: large;">A equipe</span><br />
<div><div>A nossa equipe é composta por 3 estudantes, e 2 orientadores. Quem viajou para o campeonato foram: Ivan Seidel (Eu), Matheus Canejo, Yan Marim e o nosso orientador <a href="http://nossosrobos.blogspot.com/">Felipe Martins</a>.</div><div><br />
</div><div><span class="Apple-style-span" style="font-size: large;">O Campeonato</span></div><div>O campeonato no qual participamos foi o Rescue B, onde um robô totalmente autônomo deve detectar vítimas aquecidas nas paredes de um labirinto. O labirinto é composto por 3 salas e 1 rampa que conecta a 2ª sala com a 3ª. Todo robô deve ser projetado, montado e programado pela equipe.<br />
<br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-ii5JZtpF2K8/Th9Riw8VtUI/AAAAAAAAAHI/-R0wmJLWobI/s1600/080720111647%255B1%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-ii5JZtpF2K8/Th9Riw8VtUI/AAAAAAAAAHI/-R0wmJLWobI/s320/080720111647%255B1%255D.jpg" width="320" /></a></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-2-nqGPcwXnE/Th9RvTAwtwI/AAAAAAAAAHM/NbIopyaEU60/s1600/080720111650%255B1%255D.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://4.bp.blogspot.com/-2-nqGPcwXnE/Th9RvTAwtwI/AAAAAAAAAHM/NbIopyaEU60/s320/080720111650%255B1%255D.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arena da competição</td></tr>
</tbody></table><div><span class="Apple-style-span" style="font-size: large;">O robô</span></div>O robô foi construído utilizando peças do kit Lego Mindstorms NXT, placas com Arduino Nano, além de sensores ultrassônicos, infravermelhos de distância e de temperatura. Todos os circuitos eletrônicos, programas e a estrutura física do robô foram montados pela nossa equipe.</div><div>Ele começou no dia 5 de Julho sendo aberto somente para treinos onde tivemos tempo para ajustar nosso programa e adequá-lo à arena do campeonato.</div><div><br />
</div><div><div><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-d9MM8MuR3hE/Th9RTSN-m_I/AAAAAAAAAHE/jxNjLZ4CXFE/s1600/Robo_Emerotecos%255B1%255D.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://2.bp.blogspot.com/-d9MM8MuR3hE/Th9RTSN-m_I/AAAAAAAAAHE/jxNjLZ4CXFE/s320/Robo_Emerotecos%255B1%255D.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">O robô utilizado no campeonato</td></tr>
</tbody></table></div><div>No dia seguinte já começou com rodadas valendo. Fizemos uma pontuação abaixo do que esperávamos mas isso foi para todas as equipes, parece que Murphy costuma agir nessas primeiras vezes, só foi no 3º round que conseguimos elevar a pontuação e passar na frente de algumas equipes. Não desanimamos com a pontuação, e acertamos tudo para o outro dia ficando em 7º lugar.<br />
<br />
</div><div><br />
</div><div><span class="Apple-style-span" style="font-size: large;">Fotos!</span></div><div>Se quiser ver mais fotos do evento, inclusive de outras modalidades entre<b> <a href="https://picasaweb.google.com/felipe.n.martins/RoboCup2011IstanbulTurkey#">AQUI </a></b>(Tiradas pelo Felipe) e <a href="https://picasaweb.google.com/pmarcelopontes/Robocup2011?authuser=0&authkey=Gv1sRgCJKEmuaKlpvn_wE&feat=directlink"><b>AQUI</b></a> (Tiradas pelo Paulo, da equipe de Pernambuco).</div><div><br />
</div><div><span class="Apple-style-span" style="font-size: large;">Na mídia</span></div><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-RVC7iRpazgc/Th9SZaYCytI/AAAAAAAAAHU/Uhh9P-JPVG4/s1600/A_Gazeta_2011-07-05%255B1%255D.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-RVC7iRpazgc/Th9SZaYCytI/AAAAAAAAAHU/Uhh9P-JPVG4/s320/A_Gazeta_2011-07-05%255B1%255D.jpg" width="312" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Reportagem no jornal A Gazeta</td></tr>
</tbody></table><div><br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-size: large;">Vem ai...</span></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Tenho certeza, que este campeonato me despertou um maior interesse em melhorar, vendo equipes construírem robôs de formas totalmente diferentes das que já havia visto. Conversei com a <a href="http://softrobotics.site11.com/">equipe da Suécia</a>, <a href="http://www.c-palb.de/">Alemanha </a>que participou do Soccer Jr., e com equipes também brasileiras que participaram de outras modalidades, isso inclui os estados de Brasília, Pernambuco e São Paulo! Foi ótimo ter alguém com quem falar português também.</div><div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-bottom: 0.5em; margin-left: auto; margin-right: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; text-align: center;"><tbody>
<tr><td style="text-align: center;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><a href="http://4.bp.blogspot.com/-XV1ckGOrTmQ/Th9apxFKeZI/AAAAAAAAAHY/jmI3r_-z530/s1600/P7043201%255B1%255D.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://4.bp.blogspot.com/-XV1ckGOrTmQ/Th9apxFKeZI/AAAAAAAAAHY/jmI3r_-z530/s320/P7043201%255B1%255D.JPG" style="cursor: move;" width="320" /></a></div></td></tr>
<tr><td class="tr-caption" style="font-size: 13px; padding-top: 4px; text-align: center;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Nossa equipe e a equipe de Pernambuco</div></td></tr>
</tbody></table><div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Para o próximo ano, faremos um robô muito melhor que o deste ano, aprenderemos mais sobre eletrônica, programação e tentaremos ganhar novamente. Posso dizer que este campeonato foi um "treino", pois foi o primeiro ano em que foi mesmo um campeonato e não uma demonstração, trocar ideias com equipes foi ótimo para despertar interesses por outras áreas que nem conhecíamos.</div></div><div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Em Setembro ainda tem o campeonato do Rescue A e o Soccer!</div></div><br />
<span class="Apple-style-span" style="font-size: large;">Agradecimentos</span></div>Em nome da equipe, gostaria de agradecer a todos que nos patrocinaram e apoiaram, possibilitando nossa participação neste mundial. Agradeço aos nossos patrocinadores Granel Química e <a href="http://www.mtsengenharia.com.br/">MTS Engenharia</a>, e às empresas que doaram peças e serviços como a <a href="http://www.proesi.com.br/">Proesi Componentes Eletrônicos</a>, a <a href="http://www.intechno.com.br/">InTechno Desenvolvimento e Capacitação</a> e a <a href="http://www.automatica.com.br/">Automatica Tecnologia</a>. Agradeço, também, pelo apoio oferecido pela professora Carmen Faria e sua equipe do Laboratório de Robótica Educacional da UFES, pelo IFES e por sua fundação de amparo (FACTO).</div></div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com0tag:blogger.com,1999:blog-8233597687164841355.post-59934825315228953172011-07-03T12:33:00.001-03:002011-07-04T17:26:12.684-03:00Rumo a Turquia <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-Z0z7bxmU5L0/ThIhnSieYhI/AAAAAAAAAG8/Q6Jl4KMCE3k/s1600/337001041%255B1%255D.jpg_AWSAccessKeyId%253DAKIAJF3XCCKACR3QDMOA%2526Expires%253D1309811880%2526Signature%253DlVVQusMb0fR3Az4Ez0%25252BeMyP3nfk%25253D" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" i$="true" src="http://1.bp.blogspot.com/-Z0z7bxmU5L0/ThIhnSieYhI/AAAAAAAAAG8/Q6Jl4KMCE3k/s320/337001041%255B1%255D.jpg_AWSAccessKeyId%253DAKIAJF3XCCKACR3QDMOA%2526Expires%253D1309811880%2526Signature%253DlVVQusMb0fR3Az4Ez0%25252BeMyP3nfk%25253D" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">No aeroporto de Congonhas</td></tr>
</tbody></table> <br />
A viagem para a Turquia iniciou esta manha, as 10h no aeroporto de vitoria.<br />
Estamos indo ao campeonato mundial de robótica que ocorrera em Istambul de 5 a 11 de Julho.<br />
Chegamos em são Paulo agora pouco, e estamos trocando de aeroporto, onde esperaremos 11 horas para pegar o voo direto para Istambul.<br />
O robô esta parcialmente completo, faltando apenas alguns ajustes, e acertar o sensor de temperatura.<br />
O campeonato no qual iremos participar e o Rescue B, se quiser saber mais entre <a href="http://techlego.blogspot.com/2011/05/novidades-para-o-blog.html">aqui</a>.<br />
Estamos em 4 na viagem, Eu, Yan, Matheus e nosso orientador Felipe Martins.<br />
O Felipe possui um twitter e esta postando sobre nossa viagem em cada etapa e postando fotos também. Se quiser receber as atualizacoes pelo twitter clique <a href="http://twitter.com/#!/f_n_martins">AQUI</a>.<br />
Chegaremos dia 4 a tarde na Turquia, e no outro dia já começa o campeonato, então fique ligado!<br />
Um abraço a todos.<br />
Equipe EmerotecosIvan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com0tag:blogger.com,1999:blog-8233597687164841355.post-48364718976568964132011-06-21T14:42:00.007-03:002011-06-25T11:54:37.162-03:00Regional da OBR no Espírito Santo<div class="separator" style="clear: both; text-align: center;"></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-DA2EtjNCRkI/TgDLXArAzMI/AAAAAAAAAGg/39cSpkHfIVI/s1600/DSC_0008+-+C%25C3%25B3pia.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="380" src="http://3.bp.blogspot.com/-DA2EtjNCRkI/TgDLXArAzMI/AAAAAAAAAGg/39cSpkHfIVI/s400/DSC_0008+-+C%25C3%25B3pia.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A garra do Hulk, com 4 servo motores do VEX</td></tr>
</tbody></table><span class="Apple-style-span" style="font-size: large;"><b>A OBR</b></span><br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-GKQyr0O6TYU/TgDNiiP6qXI/AAAAAAAAAGw/fqHhk8yp7B8/s1600/18062011167.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://3.bp.blogspot.com/-GKQyr0O6TYU/TgDNiiP6qXI/AAAAAAAAAGw/fqHhk8yp7B8/s320/18062011167.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">As 6 equipes que participaram do campeonato</td></tr>
</tbody></table>Como devem ter percebido, estive ausente este mês devido ao campeonato da OBR (Olimpíada Brasileira de Robótica) que ocorreu sábado passado, no IFES vitória e que me tomou muito tempo.<br />
O desafio é construir e programar um robô autônomo, capaz de seguir uma faixa preta aleatória, contendo obstáculos e gaps (falhas). E no final do trajeto, resgatar uma vítima que é uma lata de refrigerante. Este campeonato é também chamado de RoboCup Junior RESCUE A.<br />
Participaram do campeonato 1 equipe do nível 1 e 6 equipes do nível 2, sendo uma delas a nossa equipe: EMEROTECOS.<br />
Nosso robô, contava com diversos sensores, inclusive uma placa Multiplexadora de sensores e motores utilizando o ARDUINO, que eu produzi para conectar ao NXT.<br />
Ela neste evento, serviu apenas para comandar os quatro motores do VEX, de acordo com os comandos do NXT, mas poderia ser adicionado até 20 servos, ou 20 sensores digitais sendo 8 analógicos. Ele se comunica com o NXT via I²C. Fiz basicamente o mesmo que AQUI, porém utilizando o Arduino nano como micro controlador.<br />
<br />
<br />
<span class="Apple-style-span" style="font-size: large;"><b>Sensores</b></span><br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-izIGX6HMBn4/TgDLISYTwrI/AAAAAAAAAGc/_UL_e0Ij6lE/s1600/DSC_0010+-+C%25C3%25B3pia.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="146" src="http://1.bp.blogspot.com/-izIGX6HMBn4/TgDLISYTwrI/AAAAAAAAAGc/_UL_e0Ij6lE/s200/DSC_0010+-+C%25C3%25B3pia.JPG" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Placa Multiplexadora com Arduino</td></tr>
</tbody></table>Utilizamos 10 sensores de luz, para seguir a linha e conseguir aplicar algoritmos do tipo PID para se acertar com precisão na linha, e minimizar o erro dele ao longo do percurso.<br />
Um sensor de bussola, fundamental para fazer curvas bem-feitas, e saber sua direção relativa a locais do qual o robô tinha conhecimento de sua direção (como uma borda).<br />
Um sensor de distância Infravermelho, capaz de diferenciar 1mm de distância, responsável por gerar um gráfico no qual usamos para saber a posição da vítima na última sala.<br />
<br />
<br />
<b><span class="Apple-style-span" style="font-size: large;">Algoritimos de navegação</span></b><br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="clear: right; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-Yvk6QdXfjUo/TgDLvzH7MjI/AAAAAAAAAGo/D79jKCVzKGw/s1600/DSC_0006+-+C%25C3%25B3pia.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="214" src="http://2.bp.blogspot.com/-Yvk6QdXfjUo/TgDLvzH7MjI/AAAAAAAAAGo/D79jKCVzKGw/s320/DSC_0006+-+C%25C3%25B3pia.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">O Hulk, robô da OBR regional 2011</td></tr>
</tbody></table>Para facilitar a programação, passei algumas horas criando uma máquina de estados para o <a href="http://robotc.net/">RobotC</a>, o que me ajudou muito posteriormente. Esta tal "máquina de estados", é um simples diagrama, no qual posso passar de um estado para outro, de qualquer parte do meu programa.<br />
Um exemplo: O robô esta seguindo linha, e uma multi-tarefa, detecta que o sensor de toque foi pressionado. O estado principal, que segue linha, não precisa se preocupar com isso, e apenas deixará de executar este estado, e passará para o de desvio de obstáculo. Isso, sendo feito de qualquer parte do programa!<br />
Agora vem a parte pratico-teórica de verdade.<br />
O robô inicia checando todos os sensores, e motores. Se qualquer um deles estiver desligado/desconectado/quebrado/sumido/derretido/qualquer outra coisa, o NXT joga uma mensagem de erro na tela, dizendo qual sensor esta com erro, e oque deve ser feito.<br />
Feito isso, entra a tela inicial, e escolhemos portanto, seguir linha com um clique no NXT.<br />
Ele começa a seguir linha, e se algum desses 3 eventos ocorrer, ele entra em um novo estado:<br />
<br />
<ul><li>O robô não esta mais enxergando linha, salva a posição da bússola e vai para a tarefa de gap.</li>
<ul><li>Se andou por mais de uma distância, e não detectou linha nenhuma, sabe que esta na ultima sala (pois não há linha) e vai para a tarefa de pegar a lata.</li>
<li>Se detectou novamente a linha, volta para a tarefa de seguir linha.</li>
</ul><li>O robô detecta que a velocidade angular da roda (derivada do encoder) esta baixa, então vai para a tarefa de obstáculo.</li>
<ul><li>Na tarefa de obstáculo, ele desvia e volta para a tarefa de seguir linha.</li>
</ul><li>O robô detecta que ao tentar se acertar na linha, seu ângulo de reentrada na linha foi maior que 130º, então sabe que fez alguma cagada (como ir na direção oposta) e reverte seu sentido.</li>
</ul><br />
Como não havia paredes na última sala, o sensor de infravermelho detectava sempre seu valor máximo quando não estava vendo a lata, e seu valor mínimo quando na lata. Para achar a posição dela, ele varria a sala com 90º, e gravava 200 amostras de distância. Logo após, varria essas 200 amostras, e descobria qual delas, teve o menor ponto, e que estava ao lado de menores pontos também (para filtrar amostras erradas).<br />
Logo depois, andava um pouco mais a frente, e repetia este processo até estar próximo suficiente, para evitar erros, e conseguir pegar com as garras do Hulk.<br />
Feito isso, o robô se posicionava nas 2 bordas da sala, para resetar sua posição XY e seguia para o final.<br />
Isso tudo em 1300 linhas (com comentários) para conseguir fazer as missões.<br />
Um vídeo mostrando ele na hora do campeonato (o filme não ficou muito bom, pois foi filmado de longe).<br />
<div style="text-align: center;"><iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/j2rP_bv3J5E" width="480"></iframe></div><br />
<b><span class="Apple-style-span" style="font-size: large;">O que vem agora?</span></b><br />
<br />
<strike>Se tiver um tempo, edito um vídeo para postar com algumas filmagens do robô em ação.</strike><br />
Como ganhamos o campeonato, iremos para o brasileiro em Setembro que ocorrera em São João Del Rei onde também participaremos do RoboCup Soccer, que são outros 500...<br />
Dia 3 de Julho, viajaremos para Istambul na Turquia, para competir no campeonato mundial, RoboCup RESCUE B e voltaremos dia 14. Vou levar o Xoom, e se der faço um webcasting ao vivo de lá! Só preciso ter Internet.<br />
<br />
No mais é isso.<br />
Podem perguntar a vontade quanto ao robô, espero que tenham gostado e que tenha ajudado!<br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com2tag:blogger.com,1999:blog-8233597687164841355.post-61962401260544613552011-06-07T19:25:00.000-03:002011-06-07T19:25:53.541-03:00Sorteio, anunciando o ganhador!O vídeo fala por si só...<br />
<iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/TRUJcsDHBOA" width="560"></iframe><br />
Parabéns ao ganhador!<br />
O PIC será enviado pelo Francisco pelos correios. Faça bom uso!<br />
Fiquem ligados, que tem mais novidades por vir...<br />
Agradeço a todos que participaram, apoiaram, e elogiaram!<br />
Um abraço,<br />
Ivan SeidelIvan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com2tag:blogger.com,1999:blog-8233597687164841355.post-82774837917142452032011-05-28T11:05:00.008-03:002011-05-28T14:53:46.159-03:00Novidades para o blog<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/--wxhGNdw0TI/TeEBjJhW2lI/AAAAAAAAAGU/ZSeBFJwReoQ/s1600/v4_1.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="266" src="http://4.bp.blogspot.com/--wxhGNdw0TI/TeEBjJhW2lI/AAAAAAAAAGU/ZSeBFJwReoQ/s400/v4_1.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Robô do Soccer Junior (desenho do solidworks)</td></tr>
</tbody></table><br />
<br />
Como sabem, participo de campeonatos de robótica a um longo tempo, e nossa equipe quer divulgar o que estamos fazendo de novidade para os campeonatos, para ajudar e mostrar nosso trabalho.<br />
A partir de hoje, sempre que algum passo for dado nos robôs irei postar aqui o que foi feito.<br />
<br />
<div>Os integrantes da equipe são: Ivan Seidel Gomes (Eu), Matheus Canejo e Yan Marim.</div><div>Também fazem parte:<a href="http://nossosrobos.blogspot.com/"> Prof. Felipe Nascimento Martins</a> e Prof. Hudson Cassio.</div><br />
Vamos participar de 3 campeonatos este ano:<br />
<br />
<br />
<ul><li><b>Robocup Junior Soccer</b><br />
2 robôs autônomos jogam com outros 2 uma partida de futebol dentro de um campo medindo 1,80 x 2,40 m.<br />
O objetivo é fazer mais gols até o final dos 2 rouds.<br />
O tamanho máximo dos robôs é de 22x22x22 cm e seu peso máximo é de 2,5kg.<br />
<a href="http://rcj.robocup.org/rcj2011/soccer_2011.pdf">REGRAS</a><br />
Até o momento, temos o robô desenhado no solidworks, algumas peças de acrílico prontas, as peças de alumínio serão cortadas brevemente. O robô será controlado por 1 NXT e 1 Arduino Nano v3.0. <br />
O robô irá se locomover na forma <a href="http://techlego.blogspot.com/2011/04/rodas-omni-vercao-20-da-roda.html">OMNI-DIRECIONAL</a> para ter fácil e rápida mobilidade no campo.<br />
Postarei sobre os robôs separadamente e detalhada mente depois.<br />
O <a href="http://www.cbr2011.org/">CAMPEONATO </a>brasileiro ocorrerá em São João del Rei em MG no final do mês de setembro, no qual também participaremos.</li>
<li><b>Robocup Junior Rescue A</b><br />
1 robô autônomo que deve seguir uma faixa preta colocada aleatória mente ao longo de 3 salas, representando "um caminho seguro". O robô deve desviar de obstáculos sobre a faixa, e "gaps" que são pedaços sem faixa. No final da 2ª sala, há uma rampa onde o robô deve subir para chegar na 3ª sala que não haverá faixa, onde o robô deverá pegar uma vítima feita de lata de refrigerante posta em qualquer lugar e coloca-la em cima de um "patamar" em forma triangular que estará em alguns dos cantos.<br />
O robô terá 5 minutos para realizar as tarefas, e há perda de pontos por erros.<br />
<a href="http://rcj.robocup.org/rcj2011/rescueA_2011.pdf">REGRAS</a><br />
As peças para montar o robô chegaram esta semana, e agora é botar a mão na massa e no teclado. Ano passado participamos deste campeonato, e conseguimos pontuação máxima e o menor tempo no campeonato brasileiro (posto um vídeo depois).<br />
O campeonato ocorrera no próximo mês (Junho) no dia 18 em vitória - ES e é mais conhecido como <a href="http://www.obr.org.br/">OBR</a>.</li>
<li><b>Robocup Junior Rescue B</b><br />
1 robô autônomo que deve achar o final de um labirinto feito com paredes aleatórias e detectar vítimas termicamente aquecidas (para isso <a href="http://techlego.blogspot.com/2011/05/sensor-termico-infra-vermelho.html">AQUELE </a>sensor térmico).<br />
O robô tera 5 minutos para realizar as tarefas, e há perda de pontos por erros.<br />
<a href="http://rcj.robocup.org/rcj2011/rescueB_2011.pdf">REGRAS</a><br />
Ainda não começamos a montar este robô, estamos na fase do "brainstorm", existe a possibilidade de usarmos o próprio robô do soccer pois já terá sensores ultrasonicos, câmera, e sistema omni-direcional.<br />
O <a href="http://www.robocup2011.org/en/">CAMPEONATO </a>será na Turquia - Istambul em julho e iremos representar o Brasil.</li>
</ul><div>Um abraço a todos, e se tiverem duvidas sobre qualquer parte podem perguntar, estaremos a disposição para responder.</div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com0tag:blogger.com,1999:blog-8233597687164841355.post-68587529156803613262011-05-20T22:25:00.010-03:002011-07-26T18:14:44.537-03:00Meu outro novo brinquedo, Osciloscópio de bolso...Oi pessoal!<br />
<br />
Esta semana, chegou meu brinquedinho novo, <i>DSO Nano</i> que é um osciloscópio digital de bolso!<br />
<br />
Para quem não sabe oque é um osciloscópio, a definição dada pela wikipédia é:<br />
<i>'O osciloscópio é um instrumento de medida eletrônico que cria um gráfico bi-dimensional visível de uma ou mais diferenças de potencial.<a href="http://pt.wikipedia.org/wiki/Oscilosc%C3%B3pio">[...]</a>'.</i><br />
<br />
Muito útil para medir essas tensões que variam centenas de vezes por segundo, e você não é capaz de ver com apenas um multimetro...<br />
<br />
Fiz um pequeno vídeo para mostrar ele em "ação", é bem curtinho porque meu tempo esta bem curtinho nesses dias...<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/kL7_tWa2U1Q" width="560"></iframe><br />
<br />
É incrível, o que ele faz, pelo preço que custou. Pesa 60g, tem uma velocidade de 2M sample e uma conversão AD de 12bits (4096 possíveis valores), uma tela lcd de 320x240, de 0 à 80V para medição, e algumas funcionalidades muito interessantes, como:<br />
<br />
Tensão máxima, mínima, média, frequência, ciclo,duty cicle. Pode ser acionado por uma interrupção configurável de borda tanto positiva quanto negativa, pause em tempo real e algumas outras que ainda não sei mexer...<br />
<br />
Ah sim, se você não gosta de ver na tela, pode gravar os dados no cartão SD e depois baixar para o computador sem problema algum.<br />
<div><br />
Ele te permite: escolher dois pontos para medir a variação da tensão, e do tempo também, alterar o offset, e ver os dados após gravados.</div><div><br />
A bateria, dura cerca de 2h, carreguei ontem o bixim, e tá aguentando bastante!<br />
<br />
E o que me fez ficar apaixonado, foi seu microcontrolador! adivinhem...<br />
Um ARM Cortex M3! isso mesmo, o mesmo do qual fiz o curso...<br />
<br />
Para os interessados, estou fazendo pedidos dele sob encomenda em meu <b><u><a href="http://www.ivanpecas.com/item/10712/dso201-osciloscopio-dig-portatil-2msmp-28tft-lcd/1584/diversos/">SITE</a></u></b>.<br />
<br />
E não se esqueçam de se inscrever no sorteio do PIC <a href="http://techlego.blogspot.com/2011/05/sorteio-concorra-um-pic16f877a.html">aqui</a>.<br />
<br />
Até a próxima!<br />
<br />
<a name='more'></a>A pedidos, os dados técnicos do Oscilosópio.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://www.ivanpecas.com/produtos/img/0752762001306081427_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.ivanpecas.com/produtos/img/0752762001306081427_1.jpg" /></a></div></div>Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com8tag:blogger.com,1999:blog-8233597687164841355.post-33124672290831262752011-05-10T13:53:00.004-03:002011-05-10T13:55:54.410-03:00Brinquedo novo! LaunchPad MSP430Eba! mais um brinquedinho para me divertir...<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-tey7D5R06qI/TclrJcvwFHI/AAAAAAAAAGM/_op9Wq1O9E0/s1600/SAM_0187.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="301" src="http://1.bp.blogspot.com/-tey7D5R06qI/TclrJcvwFHI/AAAAAAAAAGM/_op9Wq1O9E0/s400/SAM_0187.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;">Agora, é o LaunchPad,MSP430 da Texas Instruments, um micro controlador bastante conhecido e usado a milênios...</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;">Por incríveis U$4.30, incluindo frete comprei uma belezura dessa, e chegou hoje, após 1 semana de compra!</div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-pZHqI55t1wA/TclrXAQMkHI/AAAAAAAAAGQ/285k0-k-4MI/s1600/SAM_0191.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-pZHqI55t1wA/TclrXAQMkHI/AAAAAAAAAGQ/285k0-k-4MI/s320/SAM_0191.JPG" width="256" /></a></div>É uma placa que já vem com Mini USB para gravação, e com 2 micro controladores, bastante parecidos, mas um possui I²C, outro não.<br />
<br />
Especificações:<br />
2kB Flash<br />
128B RAM<br />
10GPIO<br />
1x 16 bit timer<br />
WDT<br />
BOR<br />
1x USI (I²C/SPI)<br />
8ch 10 bit ADC<br />
<br />
<br />
<br />
Achei o preço muito bom, e estou pensando em sortear um desse, oque acham?<br />
<br />
Posto mais depois, com alguns testes realizados com ele.Ivan Seidelhttp://www.blogger.com/profile/03075083496353307723noreply@blogger.com8