Robô como serviço

Origem: Wikipédia, a enciclopédia livre.

Robô como serviço ou robótica como serviço (RaaS) é uma unidade de computação em nuvem que facilita a integração perfeita de robôs e dispositivos incorporados na internet e no ambiente de computação em nuvem. Em termos de arquitetura orientada a serviços (SOA), uma unidade RaaS inclui serviços para execução de funcionalidades, um diretório de serviços para descoberta e publicação e clientes de serviços para acesso direto do usuário.[1][2] A implementação atual do RaaS facilita as comunicações SOAP e RESTful entre unidades RaaS e outras unidades de computação em nuvem. Suporte e padrões de hardware estão disponíveis para dar suporte à implementação desa tecnologia. O perfil de dispositivos para serviços da internet (DPWS) define restrições de implementação para permitir mensagens, descobertas, descrições e eventos seguros de serviços na internet em dispositivos com recursos limitados entre serviços da internet e outras unidades.

Esas tecnologia pode ser considerada uma unidade da Internet das Coisas (IoT), Internet das Coisas Inteligentes (IoIT) que lida com dispositivos inteligentes que possuem capacidade computacional adequada,[3] O Sistema ciber-físico (CPS) que é uma combinação de um grande núcleo computacional e de comunicação e elementos físicos que podem interagir com o mundo físico,[4] e Sistema autônomo descentralizado (ADS) cujos componentes são projetados para operar de maneira fracamente acoplada e os dados são compartilhados por meio de um protocolo orientado a conteúdo.[5][6]

O uso mais comum do termo" Robot as a Service" (RaaS) é como um modelo financeiro para a compra e uso de um robô físico industrial ou de serviço. Em um contrato de compra de RaaS, o comprador paga pelo uso do dispositivo físico por meio de um contrato baseado em assinatura. O RaaS é diferenciado de um contrato de locação porque o fabricante original continua a possuir o dispositivo robótico físico e carrega a máquina como um ativo em seus livros. O RaaS está se tornando popular para fornecedores de equipamentos robóticos, pois o adquirente pode comprar o equipamento por meio de orçamentos de despesas operacionais, em vez de despesas de capital. O contrato de serviço para essa tecnologia (RaaS) exige que o fabricante original atualize e mantenha o robô em boas condições de funcionamento durante toda a vida do contrato. Todas as peças e mão de obra para manutenção preventiva também estão presentes no contrato. O fabricante original pode trocar o robô físico por outra máquina equivalente a qualquer momento. O fabricante original pode fornecer serviço remoto, pela internet, para monitorar, fazer triagem e reparar remotamente ou recuperar o sistema. Essa tecnologia leva o nome do modelo de negócios de software como serviço (SaaS), popularizado no mercado de software empresarial.

História[editar | editar código-fonte]

O projeto inicial e o desenvolvimento da aplicação da computação orientada a serviços em sistemas embarcados e robôs foram apresentados na 49ª reunião dos Grupos de Trabalho IFIP 10.4 em fevereiro de 2006.[7] No design inicial, um robô é o cliente de serviço que consulta o registro do serviço e consome serviços da internet em sites remotos. Desenvolvido a partir de um robô orientado a serviços, o RaaS é uma unidade SOA all-in-one, assim, inclui serviços para execução de funcionalidades, diretório de serviços para descoberta e publicação e aplicações para acesso direto do cliente.[1] Esse design completo fornece à unidade robótica ferramentas e capacidade para ser uma unidade de nuvem independente no ambiente de computação em nuvem. Com base nos conceitos de RaaS, um Visual IoT/Robotics Programming Language Environment (VIPLE) foi desenvolvido.

Arquitetura RaaS[editar | editar código-fonte]

RaaS segue SOA e é uma unidade de computação baseada em nuvem. Um dispositivo RaaS atua como provedor de serviços, corretor de serviços e como cliente de serviços:

  1. Uma unidade de nuvem RaaS é um provedor de serviços: cada unidade hospeda um repositório de serviços pré-carregados. Um desenvolvedor ou cliente pode implantar novos serviços ou remover serviços de um robô. Os serviços podem ser utilizados por este robô e também podem ser compartilhados com outros robôs.
  2. Uma nuvem RaaS contém um conjunto de aplicações implantadas: um desenvolvedor ou cliente pode compor uma nova aplicação (funcionalidade) com base nos serviços disponíveis na unidade e fora da unidade.
  3. Uma unidade RaaS é um corretor de serviços: um cliente pode consultar os serviços e aplicações disponíveis no diretório da unidade. Um cliente pode pesquisar e descobrir os aplicativos e serviços implantados no robô navegando no diretório. Os serviços e aplicações podem ser organizados em uma hierarquia de classes para facilitar a descoberta.

Os principais componentes de uma unidade RaaS e aplicativos e serviços típicos implantados. As unidades RaaS são desenvolvidas para o ambiente de computação em nuvem. Os serviços se comunicarão com os drivers e outros componentes do sistema operacional, que se comunicarão com os dispositivos e outros componentes do hardware. As unidades podem comunicar-se diretamente entre si através de Wi-Fi, se a infraestrutura sem fio estiver disponível, ou através de rede sem fio ad hoc, caso contrário, a comunicação entre RaaS e outros serviços na nuvem é realizada através de interface de serviço padrão WSDL habilitada por DPWS ou serviço RESTful HTTP geral.

Alguns protótipos foram implementados, que incluem interface Web e unidades físicas.[7][8][9][10][11]

A confiabilidade e a segurança são essenciais no design desses serviços. As unidades RaaS colaborativas podem ser programadas para execução redundante, fazendo backup das operações umas das outras. O design redundante também pode lidar com ataques em nível de instrução, como inserção de código e ataques de Programação Orientada a Retorno (ROP). Como as unidades RaaS redundantes são independentes umas das outras, a programação de gadgets em nível de instrução provavelmente gerará sequências diferentes em dispositivos diferentes. Essas diferenças de comportamento podem ser detectadas pela colaboração entre as unidades RaaS. O grande desafio no projeto dessa tecnologia é lidar com a diversidade das redes, aplicações e ambientes ou usuários finais. Na computação em nuvem, os protocolos de rede e comunicação são limitados a alguns padrões, como arquitetura WSDL, SOAP, HTTP e RESTful. Em RaaS, os padrões HTTP, SOAP e WSDL e os aplicativos robóticos são as principais padrões de design.

Formulários[editar | editar código-fonte]

Essa tecnologia (RaaS) pode ser usado em qualquer lugar onde SOA, computação em nuvem, IoT, CPS e ADS sejam usados. Uma das aplicações no ensino de ciência da computação. O RaaS usa serviços existentes para formar diferentes aplicações ao nível do fluxo de trabalho, o que reduz significativamente a curva de aprendizagem da programação robótica.[12][13]

Ver também[editar | editar código-fonte]

Referências

  1. a b Yinong Chen, Zhihui Du, and Marcos Garcia-Acosta, M., "Robot as a Service in Cloud Computing", In Proceedings of the Fifth IEEE International Symposium on Service Oriented System Engineering (SOSE), Nanjing, June, 2010, pp. 151–158.
  2. Yinong Chen, H. Hu, "Internet of Intelligent Things and Robot as a Service", Simulation Modelling Practice and Theory, Volume 34, May 2013, Pages 159–171.
  3. Pranav Mehta, CTO, Intel Intelligent Systems Group: “Internet of Things and the Infrastructure”, Intel Embedded Research and Education Summit, February 2012, http://embedded.communities.intel.com/servlet/JiveServlet/downloadBody/7156-102-1-2402/Internet-of-Things-and-the-Infrastructure.pdf.
  4. Ragunathan (Raj) Rajkumar, Insup Lee, Lui Sha, and John Stankovic, “Cyber Physical Systems: The Next Computing Revolution”, 47th Design Automation Conference (DAC 2010), CPS Demystified Session, Anaheim, CA, June 17, 2010.
  5. Kinji Mori, Concept-Oriented Research and Development in Information Technology, Wiley Series in Systems Engineering and Management, 2014.
  6. M.B. Remy, M.B. Blake, Distributed Service-Oriented Robotics, IEEE Internet Computing, Volume:15, Issue: 2, pp. 70–74, 2011.
  7. a b Yinong Chen, "Service-Oriented Computing in Recomposable Embedded Systems", Joint IARP/IEEE-RAS/EURON/IFIP 10.4 Workshop on Dependability in Robotics and Autonomous Systems, Tucson, AZ, February 15–19, 2006, http://webhost.laas.fr/TSF/IFIPWG/Workshops&Meetings/49/workshop/04%20chen.pdf
  8. Intel Autobot Web Service, 2012, http://venus.eas.asu.edu/WSRepository/RaaS/main/
  9. RaaS online programming environment, 2013, http://venus.eas.asu.edu/WSRepository/eRobotic/
  10. Zhihui Du, Weiqiang Yang, Yinong Chen, Xin Sun, Xiaoying Wang, and Chen Xu, "Design of a Robot Cloud Center", in 10th International Symposium on Autonomous Decentralized Systems (ISADS), Tokyo, March 2011, pp. 269–275.
  11. Robotics as a service implemented into robot, 2016, http://www.digitaltrends.com/cool-tech/qihan-sanbot/
  12. Yinong Chen, Zhizheng Zhou, "Service-Oriented Computing and Software Integration in Computing Curriculum", IPDPS Workshops 2014, pp. 1091–1098.
  13. Yinong Chen, Zhizheng Zhou, "Robot as a Service in Computing Curriculum”, 12th International Symposium on Autonomous Decentralized Systems (ISADS), Taichung, March 2015.