Dia desses, lendo este artigo, me ocorreu uma coisa.
É muito normal encontrar robôs industriais novos, que nem terminaram de ser comissionados, já cheios de "escoriações".
Isso ocorre devido ao fato dos programadores normalmente prestarem atenção na ferramenta, esquecendo o restante do equipamento.
Até existem algumas soluções, como monitoramento de torque diferenciado para os modos automático e manual, mas não conheço nenhuma que seja realmente eficaz.
O que pensei foi em colocar algum tipo de feedback háptico nos terminais de programação. Como se fosse um celular, ou, melhor ainda, um controle de vídeo-game. Se o robô encosta em alguma coisa, ele vibra um pouquinho, e a vibração iria aumentando a medida em que o torque solicitado aos motores aumentasse. Resumindo, quanto mais forte a pancada, mas forte a vibração*. Isso não iria evitar que a necessidade do robotista ficar olhando em volta do robô a cada movimento, mas acho que evitaria estragos maiores.
Seria o contrário de uma característica interessante que os joysticks dos FlexPendants/TeachPendants da ABB tem há décadas, e que nunca foi replicada por outro fabricante: quanto maior a velocidade com que o programador movimenta o joystick, maior é a velocidade com a qual o braço mecânico se movimenta. Simples e intuitivo (apesar de meio perigoso).
Enfim, é só uma ideia, e pode ser que algum fabricante já tenha pensado em implementar algo do tipo.
* na verdade, só estou sugerindo a vibração nos teachpendants para parecer politicamente correto. Ainda dentro do Condicionamento Operante, mas numa abordagem mais incisiva, por mim a resposta tátil poderia ser uma descarga elétrica. Começaria com 127 V. Numa segunda ocorrência dentro de um determinado período de tempo, o choque seria de 220 V. Três batidas, e o robotista levaria 380 V na cachola. Quatro, 440 V. Cinco, 660 V. E, nos poucos casos onde esses energúmenos galopantes continuassem vivos, o que aumentaria após a quinta colisão seria a corrente.**
** é brincadeira, tá, gente? :P
Mostrando postagens com marcador smartphones. Mostrar todas as postagens
Mostrando postagens com marcador smartphones. Mostrar todas as postagens
terça-feira, 23 de julho de 2013
domingo, 11 de março de 2012
EDITANDO ARQUIVOS DE ROBÔS ABB EM DISPOSITIVOS ANDROID
Já faz algum tempo que tento descobrir uma maneira de ler/editar arquivos produzidos por robôs em dispositivos móveis. Já brinquei com meus Nokias série E, e agora a bola da vez foi meu Galaxy Tab.
Existem
vários editores de texto para Android, mas eu queria uma experiência
mais próxima da que tenho com o notebook, e uma das condições era
que fosse possível ter algum tipo de destacamento de sintaxe (syntax
highlighting).
Pesquisei um pouco e, até onde sei, o único editor de textos - para
Android - onde existe a possibilidade de criar arquivos de
configuração para linguagens de programação específicas é
o Jota (que,
vejam só vocês, eu já usava).
Embora eu não
encoste em um TP (ou num FlexPendant) há mais de um ano, decidi
criar um arquivo de destacamento de sintaxe para a linguagem Rapid,
da ABB, porque esta é a mais editing friendly que
eu conheço.
De início, tive
um pequeno problema. Assim como o próprio Android - que para todos
os efeitos é uma distro Linux - a versão do Jota na qual comecei a
trabalhar era case sensitive (faz diferenciação
entre letras maiúsculas e minúsculas), então um arquivo de
configuração prg.sys.cfg.mod.conf seria diferente de um arquivo de
configuração PRG.SYS.CFG.MOD.conf.
A questão era que
os arquivos gerados pelos controladores S4(C/Plus/P) sempre são
criados com todas as letras de seus nomes em maiúsculas. Mas isso
não acontece com a série IRC5. Tudo bem, não se fabricam mais
controladores da série S4, mas ainda existem muitos deles espalhados
por aí. Então quando um usuário quisesse editar um arquivo do
IRC5, teria que usar um arquivo de configuração e quando quisesse
editar um arquivo do S4, teria que usar outro. Ou poderia ficar
renomeando os arquivos, trocando a capitalização das letras. Nem
preciso dizer que qualquer um dos dois métodos seria, no mínimo,
contraproducente.
Enviei o arquivo
para o desenvolvedor do Jota, mas ele disse que não disponibilizaria
o mesmo junto com o software porque acredita que, embora a linguagem
Rapid não seja muito popular, algumas de suas extensões são. O
.prg, por exemplo, é utilizado pela linguagem FoxPro (alguém ainda
usa isso?). O .mod pode ser um arquivo de vídeo ou um programa
Fortran (alguém ainda usa isso?), e o .sys pode ser um arquivo de
sistema do Windows. E isso poderia confundir alguns usuários. Para
mim, essa argumentação fez sentido.
Ele
disponibilizou o keyword
file em
seu site.
Caso você se interesse, basta baixar o arquivo e colocá-lo em
/sdcard/.jota/keyword/user/ (depois de ter instalado o Jota,
obviamente).
Fiz os testes em
um Galaxy Tab (Android 2.2) e em um Xperia X8 (Android 2.1), e ambos
funcionaram como o esperado.
Infelizmente, não
pude colocar screenshots aqui, porque sou preguiçoso demais para
rootear meu GTab (ou para reinstalar o Z4root, que meu antivírus diz
ser, bem, vírus).
Sei que editar um
programa desses em uma tela minúscula não deve ser lá uma das
experiências mais empolgantes do mundo, até mesmo pela dificuldade
em transferir os arquivos entre o controlador do robô e a grande maioria dos dispositivos Android. Contudo, acho que é vantajoso ter a
*possibilidade* de fazer isso em caso de emergência.
O próximo passo
será criar os keyword files para as linguagens
(v)krl/KUKA e tp/FANUC.
ATENÇÃO 1: caso
sua versão do Jota seja anterior a 0.2.10, provavelmente você terá
aquele problema com os nomes dos arquivos em maiúsculas e minúsculas
que eu mencionei acima. E a melhor maneira de resolver isso é
atualizando o Jota.
ATENÇÃO 2: eu ainda NÃO carreguei nenhum arquivo editado pelo Jota em um controlador ABB, então não sei se haverá algum problema durante o upload. Acredito que não, MAS AINDA NÃO tenho certeza. Então, caso queira impressionar seu chefe programando em seu celular, saiba que você está por usa própria conta e risco, meu chapa. Como dizem os americanos, shit happens. Faça alguns testes antes.
Assinar:
Postagens (Atom)