terça-feira, 31 de março de 2020

The week of Universal Robots bugs



Acabei de descobrir isso aqui:

https://news.aliasrobotics.com/week-of-universal-robots-bugs-exposing-insecurity/



O tom do pessoal da Alias Robotics me pareceu meio incisivo demais, não dá pra saber exatamente como ocorreu a tratativa entre as duas empresas e eles estão apontando um problema para o qual vendem uma solução, então ainda não tenho opinião formada sobre essa atitude.

Entretanto, eles levantaram uma questão muito importante: a cibersegurança nos robôs industriais.

Enquanto a grande maioria deles ainda trabalha desconectado da internet, a tendência é que essa situação vá se invertendo ao longo dos próximos anos, devido a todos esses paradigmas que estão sendo trazidos pelo que se convencionou chamar de indústria 4.0.

E, como foi dito no estudo da Alias, um robô "comprometido" pode causar danos manterias e, principalmente, humanos.

Vou acompanhar tentar acompanhar esse assunto mais de perto.

Curso online de programação de robôs COMAU

Pra quem está interessado em aprender programação de robôs COMAU, o Anderson Bezerra, um dos caras que mais entende do assunto, na minha opinião, começou a publicar um curso online no canal dele no YouTube

Muito legal!

O canal do Anderson.

https://www.youtube.com/channel/UCrk48yhpy2BQ2ssAzXt91sQ/videos

E a primeira aula

segunda-feira, 9 de março de 2020

O editor de textos secreto do Roboguide




Não é tão secreto assim, pra falar a verdade. Além disso, está bem descrito no help do Roboguide. Mas quem lê o help, né? 😀

Entretanto, como acontece em outros recursos da IDE da FANUC, sua localização não é evidente, e muita gente não sabe dessa possibilidade.

Editar programas no Roboguide costuma ser uma atividade trabalhosa. Mesmo com o uso de atalhos, o TP virtual pode não ser a maneira mais confortável de escrever um programa.

E aí entra o editor de textos.

Com ele, é possível editar qualquer arquivo de texto (ou ASCII, usando a nomenclatura da FANUC) reconhecido por um robô do fabricante, dentro do próprio Roboguide.


A melhor maneira de utilizá-lo é reunir os arquivos “fonte” que estão em formato texto/ASCII (.ls, .kl, .cm, etc) em uma pasta no PC, que vamos chamar de repositório. Coloque um nome que seja fácil de lembrar. Se você tem mais de um robô na célula, crie um repositório para cada um.
Na árvore do projeto (Cell Browser), dentro de cada controlador, há um item chamado Files.


Clique no mesmo com o botão direito, e clique na opção Add.



Selecione os arquivos que vocẽ deseja carregar no projeto, e alterar usando o editor.
 

 Note que os mesmos aparecerão na árvore do projeto, sob o item Files.

Toda vez que você der um duplo clique nesse arquivo, o editor já vai abrir.



Após fazer as edições necessárias, clique na tecla Build.


Feito isso, o programa será convertido para o formato formato binário correspondente, e será salvo no repositório e também será carregado no controlador virtual, como se fosse feito um LOAD através do gerenciador de arquivos do robô.




Em caso de erro de sintaxe, o programa não será compilado, e vai surgir uma mensagem de falha, indicando a linha e a coluna onde está localizado o erro.


Note que esse método tem algumas limitações.

Não há nenhum tipo de sincronia entre o repositório e a lista Files do Roboguide. Toda vez que se colocar um arquivo no repositório através do Windows Explorer, é necessário adicioná-lo manualmente no Files.

Também não há nenhum tipo de sincronização entre os arquivos ASCII (Files) e binários (Programs). O sentido do desenvolvimento deve ser sempre ASCII > Build > Binário > Testes.

Isso pode ser meio óbvio no caso dos arquivos Karel, que não podem ser editados via TP, mas pode ser meio confuso no caso de programas convencionais.

Se você faz edita um arquivo ASCII, faz o Build, e depois continua editando o mesmo através do Teach Pendant virtual, o arquivo fonte NÃO será atualizado com essas mudanças. Se você quiser manter seu repositório atualizado, será necessário exportar o programa como ASCII de dentro do robô virtual, e sobrescrever o mesmo dentro do repositório.

Por outro lado, apagar um arquivo no Cell Browser não apaga ele no repositório, o que acaba criando uma camada de segurança extra.

Além dos arquivos que são reconhecidos pelo robô, também é possível criar arquivos .txt. Nesses não é possível dar um Build. Mas você pode, por exemplo, criar um arquivo chamado Notas.txt, adicioná-lo na lista Files, e usar esse arquivo como um bloco de notas referente àquele projeto, editando o mesmo de dentro do próprio Roboguide.


Embora pareça uma boa ideia, não acho seguro deixar o repositório dentro da célula do robô pois, em alguns casos, quando é necessário dar um “clean” na célula, muitas vezes o Roboguide apaga os arquivos, ou restaura um backup anterior.

Acredito que o Roboguide ficaria ainda mais prático se tivesse mais duas pequenas funcionalidades:

1) ao clicar em um programa na árvore do projeto, o mesmo poderia ser convertido automaticamente para .ls e já ser aberto no editor, em vez de abrir no TP virtual. Na verdade, nem estou certo sobre a necessidade da conversão, visto que no MD: do robô virtual já existem os arquivos convertidos para formato .ls. Isso também ajudaria na sincronização dos arquivos, visto que toda vez que um programa é editado via TP (real ou virtual), sua cópia em formato .ls é salva no MD.

2) abrir arquivos individuais no Roboguide, como acontece no RobotStudio, por exemplo. Hoje é necessário criar uma célula, e carregar o programa dentro do robô virtual.

Dúvidas, comentários, sugestões sobre esse post ou sobre o conteúdo do blog?

Cola lá no grupo do Telegram!

P.S.: meus sinceros agradecimentos ao Douglas, que me avisou do problema com as imagens do post. Valeu, mano!

sábado, 7 de março de 2020

Comentários do blog

Oi, pessoal!

Vou desativar os comentários do blog.

Não porque não goste das pessoas comentando por aqui.

Mas depois que o Google resolveu implodir o Google+, eu tenho basicamente, três possibilidades para habilitar esse recurso:

- Qualquer pessoa, sem nenhum tipo de identificação: não funciona.

- Membros do blog: não aplicável nessa situação, já que o único colaborador do blog sou eu mesmo.

- Pessoas com conta do Google: é a opção que está habilitada hoje, mas como também não existem mais perfis públicos do Google (que foram implodidos para dar lugar ao Google+), as pessoas tem que, explicitamente, optar por tornar seus perfis públicos. E como quase ninguém aqui faz isso, eu simplesmente não sei mais quem faz os comentários por aqui.

De uns tempos pra cá, todos vocês são Unknown. 😀



Existem alguns sistemas externos de comentários que poderiam ser implementados por aqui. Num futuro próximo, talvez eu tente isso, mas, para contornar essa situação e também permitir uma interação maior com e entre os leitores do blog, criei um grupo no Telegram que vai fazer as vezes de sistema de comentários, mas não vai se restringir somente a isso. Quaisquer conversas voltadas à robótica industrial e tecnologias relacionadas são bem vindas.

O link do grupo é esse aqui.

Vejo vocês por lá!

sexta-feira, 6 de março de 2020

Industrial Robotics (simple) Database, e algumas considerações sobre a robótica industrial em 2020






Já ouviu falar do IRsDB? Não? Como assim?

O Industrial Robot (simple) Database, apesar do nome pomposo, é uma planilha (em inglês), onde reúno links relacionados à robótica industrial.

Pode ser acessado aqui:

https://docs.google.com/spreadsheets/d/1LLdw8BFNUaGyKOJm1WSeYD6KDxYrrIbCiwrU3LSQfRU/edit#gid=1620568682

ou aqui

http://bit.ly/roboticsdb

Começou como uma brincadeira e, apesar de ocasionalmente esquecer que ela existe, sempre dou uma consultada na mesma.

Após esse último update, fiquei impressionado com os números. A aba Brands tinha listada cerca de 40 fabricantes. Agora são 79.

Notem que são 79 fabricantes que eu sei que existem. Com certeza há muitos outros que ficaram de fora.

Há diversos fatores que devem ser considerados. Algumas empresas, por exemplo, oferecem produtos feitos por outros fabricantes, com algum tipo de customização. É o caso dos robôs da Bosch, da chinesa Efort, ou da Precise Automation, só para citar alguns exemplos. Mesmo assim, os números impressionam.

Ao meu ver, esse aumento expressivo nos últimos anos se deve a três fatores.


COBOTS


Os queridinhos da indústria 4.0.

Robôs mais simples, mais fáceis de programar, de manter, que conseguem trabalhar ao lado de seres humanos sem (quase) nenhuma restrição e que, após o período de “estranhamento”, foram aceitos pelo mercado como novo paradigma.

Uma analogia que eu sempre faço é que, se os robôs industriais convencionais são computadores normais (PCs), os cobots são smartphones.

Guardadas as devidas e óbvias exceções, os cobots fazem quase tudo o que um robô industrial da mesma categoria faz, e algumas vezes, fazem até melhor.

Algumas projeções mostram que em 2023, a quantidade de cobots encomendados e instalados vai superar a quantidade de robôs industriais convencionais.


CHINA


A base manufatureira da China é imensa.

E para alimentar um mercado desses, só um grande parque de fornecedores / fabricantes.

A Foxcon, por exemplo, usa robôs industriais desenvolvidos internamente, e sobre os quais muito pouco se sabe aqui no ocidente.

O mercado chinês tem muitas peculiaridades: fabricantes que mudam de nome do dia para a noite, fabricantes que revendem/produzem, sob licença, produtos de outros fabricantes, produtos que em teoria não atendem padrões de qualidade/segurança vigentes em outras partes do mundo, e por aí vai.

Mesmo assim, boa parte dos fabricantes chineses não são conhecidos fora de seu país de origem, justamente porque o abastecimento do mercado interno é o suficiente para mantê-los operando.


ROS / LINUX


O ROS (Robot Operating System) é uma iniciativa cujo o objetivo é criar uma plataforma comum para programação/simulação de diversos tipos de robôs. E o ROS-I (ROS-Industrial) é um desdobramento do ROS, voltado especificamente para robôs industriais.

Desde a criação do ROS-I, alguns fabricantes tradicionais começaram a investigar essa possibilidade.

Alguns cobots são programados/controlados exclusivamente via ROS/ROS-I. E esse número está aumentando aos poucos.

Recentemente foi liberado o ROS2, que é uma tentativa de abranger uma gama maior de equipamentos que podem ser incluídos na categoria robô.

E aí entra outro aspecto interessante: alguns cobots, incluindo o maior expoente da categoria, são controlados por sistemas operacionais Linux.

Do ponto de vista do mercado, isso faz sentido: se você é um novo player, a possibilidade de já contar com uma base de software mais ou menos pronta já representa alguns passos dados.

Enfim, está sendo uma época interessante para a nossa área.

P.S.: caso você não queira ou não possa acessar o Google Spreadsheets, a planilha pode ser baixada em diversos formatos, entre eles o .xlsx (Excel) e o .ods (LibreOffice/OpenOffice).