MS Robotics Studio

Pesquisa realizada por Elen, Fábio Tadeu Paiva da Siva e Viviane Santa Rosa em 2007-2

A origem intuitiva da Robótica

A palavra robô é tem origem tcheca ( robotnik ), que significa servo, o termo robô foi utilizado inicialmente por Karel Capek em 1923, nesta época a idéia de um "homem mecânico" parecia vir de alguma obra de ficção. Mas esta não é nova, por exemplo, existem inúmeras referências sobre o "Homem Mecânico" construído por relojoeiros com a finalidade de se exibir em feiras. Temos relatos também da realização de várias "Animações Mecânicas" como o leão animado de Leonardo da Vinci, e seus esforços para fazer máquinas que reproduzissem o vôo das aves. Porém estes dispositivos eram muito limitados, pois não podiam realizar mais que uma tarefa, ou um número reduzido delas.

As Leis da Robotica

O grande escritor americano de ficção científica Isaac Asimov (Eu, Robô, 1950) estabeleceu quatro leis muito simples para a robótica:

1ª - "Um robô não pode ferir um ser humano ou, permanecendo passivo, deixar um ser humano exposto ao perigo".

2ª - "O robô deve obedecer às ordens dadas pelos seres humanos, exceto se tais ordens estiverem em contradição com a primeira lei".

3ª - "Um robô deve proteger sua existência na medida em que essa proteção não estiver em contradição com a primeira e a segunda leis".

4ª - " Um robô não pode causar mal à humanidade nem permitir que ela própria o faça".
(A quarta e última lei foi escrita por Asimov em 1984.)

A Origem por força da necessidade

A idéia de se construir robôs começou a tomar força no início do século XX com a necessidade de aumentar a produtividade e melhorar a qualidade dos produtos. É nesta época que o robô industrial encontrou suas primeiras aplicações, o pai da robótica industrial foi George Devol.
Também a necessidade de se realizar tarefas com eficiência e precisão em lugares onde a presença humana se torna difícil, arriscada e até mesmo impossível, como o fundo do mar, proximidades de bombas/produtos tóxicos ou a imensidão do espaço sideral. Para realizar essas tarefas, se faz cada vez mais necessária a presença de dispositivos (robôs), que realizam essas tarefas sem risco de vida humana.

O que é a Robótica ?

A robótica é a área que se preocupa com o desenvolvimento de dispositivos robôs; multidisciplinar, altamente ativa que busca o desenvolvimento e a integração de técnicas e algoritmos para a criação de robôs.
A robótica envolve matérias como engenharia mecânica, engenharia elétrica, inteligência artificial, entre outras, com uma perfeita harmonia, que se faz necessária para se projetar essas maravilhosas tecnologias. Temos hoje robôs em várias áreas de nossa sociedade: robôs que prestam serviços, como os desarmadores de bomba, robôs com a nobre finalidade da pesquisa científica e educional e até mesmo os robôs operários, que se instalaram em nossas fábricas e foram responsáveis pela "segunda Revolução Industrial". Estima-se que teremos 55 milhões de robôs em 2010.

O que se busca hoje na Robotica; a Percepção, tato e visão

A robótica evolui de forma acelerada no caminho da construção de sistemas inteligentes que realizem tarefas que hoje só um homem é capaz de executar. Uma característica importantíssima que esses sistemas deverão possuir é a capacidade de percepção, seja visual ou tátil ou até mesmo degustativa, para se ter sucesso em tais tarefas. Faz parte da inteligência responder a estímulos do meio em que se encontra e abstrair dados a partir de situações alheias ao nosso controle.

Programação Robótica versus Matéria Compiladores

A utilização de realidade virtual no desenvolvimento de algoritmos para controles de dispositivos robôs é o ponte de intersessão com a matéria de compiladores. O uso destes simuladores no processo de desenvolvimento destes algoritimos para robôs fica facilitada, ao mesmo tempo diminui-se o risco de acidentes no local de trabalho, além de configura-se em uma alternativa muito interessante, e especial em locais onde não existem os robôs disponíveis. Com ele é possível realizar inúmeros testes, sem custo, nem riscos de se manipular um robô real e até programar para um dispositivo que ainda não existe. Este conceito retrata de forma próxima os compiladores cruzados (onde roda depois de pronto em uma plataforma de máquina diferente da plataforma que foi usada no seu desenvolvimento). Também percebemos que estamos digitando codigos que para futura execução. Ou seja estamos falando de um tipo de ambiente de desenvolvimento que possui um compilador, um linker/Editor, assim apresentamos o Microsoft Robotics Studio, o ambiente de desenvolvimento de software para plataforma Robótica em PC com simulador para teste, sendo este alvo de nossa pesquisa.

Microsoft Robotics Studio

É o mais novo lançamento da Microsoft destinado a criar aplicações robóticas: na sua versão 1.0 de desenvolvimento baseado no Windows permite criar programas de robótica para uma ampla variedade de plataformas de hardware. Além disso, conta com uma linguagem de programação visual que oferece aos utilizadores a possibilidade de programar robots utilizando um ambiente orientado por objectos, uma ferramenta 3D que simula aplicações robóticas em ambientes virtuais que obedecem às leis da física e uma rotina de execução em tempo real que permite às aplicações comunicarem com o hardware. O Robotic Studio permite o desenvolvimento de aplicações utilizando um conjunto de linguagens de programação que incluem o Microsoft Visual Studio e o Microsoft Visual Studio Express (Visual C# e Visual Basic), além do Microsoft IronPython. O Microsoft Robotics Studio é compatível com as aplicações, serviços e robots de empresas como a CoroWare, iRobot, KUKA Robot Group, the LEGO Group, Parallax, RoboDynamics, Robosoft, RoboticsConnection, Senseta, Sharp Logic ou Surveyor, entre outras. Além disso, muitas outras empresas inscreveram-se no Programa de Sócios da Microsoft Robotics Studio para lançarem aplicações e robots compatíveis no futuro, entre as quais se contam a Braintech, Camelot Robotics, Cerebellum, Graupner, Hanulkid, InTouch Health, MicroInfinity, Mostitech, RidgeSoft, Robo3, VIA Technologies e a Yujin Robot. Os apreciadores, estudantes e universitários podem usar este software sem qualquer custo. Os criadores de robots comerciais podem legalizar a utilização desta plataforma de desenvolvimento pelo valor mínimo de US$399.

Configuração Necessaria

Plataforma Windows 8, 16 e 32 bits
Espaço - Download aproximadamente 50MB
FrameWork 2.0

Principais recursos e benefícios do ambiente do Microsoft Robotics Studio:

Plataforma de desenvolvimento Robotics Visual

Microsoft Robotics Studio inclui uma ferramenta de programação visual, facilitando a criação e depuração de aplicativos robô. Studio robóticos permite aos desenvolvedores gerar serviços modulares para hardware e software, permitindo que os usuários interajam com robôs através de interfaces com base na Web ou do Windows. Os desenvolvedores também podem simular aplicativos de robótica usando modelos 3D realistas; Microsoft foi licenciado a tecnologia ™ ™ PhysX AGEIA de AGEIA Technologies Inc., uma Pioneira em física acelerada por hardware, habilitando simulações físicos do mundo real com modelos robô. PhysX o AGEIA ™ ™ tecnologia também pode ser acelerado usando hardware fornecido pelo AGEIA Technologies Inc.

Lightweight serviços-orientado por tempo de execução.

Microsoft Robotics Studio oferece uma Runtime serviços-orientados lightweight usando uma biblioteca de simultaneidade baseados no .NET, ele simplifica o desenvolvimento de aplicativos assíncronos. Os serviços baseados em mensagens de arquitetura simples para acessar o estado dos sensores e acionadores com um navegador da Web, permitindo e criando Funções de alto nível usadas em componentes simples e possibilitanto reutilização dos módulos de código.

Plataforma extensível e escalonável -

Modelo de programação Microsoft Robotics Studio pode ser aplicado para uma variedade de plataformas de hardware robô, permitindo que usuários transfiram suas habilidades de aprendizagem entre plataformas. Terceiros também podem estender a funcionalidade de plataforma, fornecendo bibliotecas adicionais e serviços. Ambos, remoto (PC-com) e execução (autônomo), Robot com base em cenários podem ser desenvolvidos usando uma seleção de programação linguagens, inclusive aquelas incluídas no Microsoft Visual Studio e o Microsoft Visual Studio Express idiomas (C# e VB.NET), bem como Microsoft ferro Python e idiomas de terceiros que estejam de acordo com sua arquitetura com serviços.

Mas o que é programar no para Robôs no Robotics Studio?

Basicamente é produzir algoritmos com objetivo geral de tratar entradas sensórias de uma variedade de fontes e orquestrar um conjunto de acionadores para responder à entrada sensorial de maneira a obter a finalidade do aplicativo; resposta. Um exemplo de um aplicativo simples robóticos contém um Amortecedor simples (sensor) que gera relatórios quando ele é atingido, e uma caixa de mensagem - resposta (atuador) é acionada pelo orquestrador que conecta as peças.

Para facilitar a criação, monitoração, implantação e executação de aplicativos robóticos fornece:

Simultaneidade e Coordenação em tempo de execução (CCR) ativando coordenação de mensagens sem o uso do manual segmentação, bloqueios, semáforos, etc.. O CCR baseia-se em mensagens assíncronas passando e fornecendo um contexto de execução para serviços incluindo um conjunto primitivo de alto nível para sincronizar mensagens.
Descentralizada System Services (DSS) fornecendo um serviço que hospeda um conjunto de serviços básicos facilitando tarefas como a depuração, log, monitoramento, segurança, descoberta e Persistência de dados e ambiente.
O tempo de execução do Microsoft Robotics Studio foi projetado para suportar uma grande variedade de aplicativos robóticos desde na sofisticação da entrada sensórias simplesmente observando, a unidade-por-fios, a operação autônomo e até mesmo a cooperação entre vários robôs autônomos.

Além disso, o Runtime pode ser usado em cenários variando de robôs conectados diretamente a um PC (usando a porta serial, Bluetooth, USB, etc.) para robôs que possui um PC integrado, para robôs simulados que podem ser manipulados como elas operam em um mundo simulado.

Os serviços

Um serviço é o bloco de construção básico para a criação de aplicativos usando o Microsoft Robotics Studio. Os serviços são usados para fornecer isolamento, limites entre si e serviços e o tempo de execução.
Parceria é uma maneira para descrever nomeadas relações entre os serviços de uma maneira que permite a reutilização ou sub-rotina componentes de uma maneira de limite atrasada.
Composição a parceria é uma ótima maneira para fornecer abstrações de níveis superiores e o tempo de execução do Microsoft Robotics Studio fornece suporte integral para redigir serviços dessa maneira.

Serviços de tempo de execução

O tempo de execução do Microsoft Robotics Studio vem com um conjunto de serviços fornece muitos normalmente necessários funções como monitor

Simulador - uma visão geral Microsoft Robotics Studio atinge um grande público em uma tentativa para acelerar robóticos desenvolvimento e adoção. Uma parte importante desse esforço é o Runtime de simulação. Ele foi imediatamente óbvio que jogos PC e o console tem paved da forma quando se trata a simulação robóticos barato, amplamente usado. Jogos dependem visualizações fotorrealísticas com simulação avançadas física executando dentro das restrições em tempo real. Esse era um ponto de partida perfeito para nossos esforços.

Nós tiver criado o Runtime de simulação e ela pode ser usada em uma variedade de cenários avançados com alta demanda para fidelidade, visualização, a escala. Ao mesmo tempo, um usuário iniciante pode usar a simulação com pouco para nenhuma experiência de codificação e desenvolver desenvolver aplicativos interessantes em um jogo - como ambiente. Nossa integração da tecnologia PhysX AGEIA permite nos aproveitar um produto de simulação muito alta segurança física que é desenvolvida e em constante evolução para recursos que serão valiosos para robóticos. O mecanismo de processamento é baseado em DirectX gerenciado.

Linguagem de programação Microsoft Visual - Microsoft Visual programação idioma (VPL) é um ambiente de desenvolvimento de aplicativos criado em um modelo de programação gráfico dataflow-com base em vez controlar o fluxo geralmente encontrado na programação convencional. Em vez série de comandos imperativas executados seqüencialmente, um programa fluxo de dados é mais como uma série de funcionários em uma linha conjunto de módulos (assembly), que realizam suas tarefas atribuídas o material à medida que chegarem. Como resultado VPL é bem adequado para programação uma variedade de simultâneos ou distribuído processamento cenários.

VPL é direcionado para iniciantes programadores com uma compreensão básica dos conceitos como variáveis e lógica. No entanto, VPL não é limitado para principiantes. A natureza compositional da linguagem de programação pode atrair para programadores mais avançados para rápida criação de protótipos ou código de desenvolvimento. Além disso, enquanto sua Caixa de ferramentas é adaptada desenvolver aplicativos robô, a arquitetura subjacente não está limita a programação robôs e puderam ser aplicada para outros aplicativos. Como resultado, VPL pode atrair a um público grande de usuários incluindo os alunos, hobistas, bem como possivelmente desenvolvedores da Web e programadores profissionais.

Grupo de discussão online – Iniciativa para promover a integração e discussões entre pessoas do mundo sobre os diversos assuntos do MS Robotics Studio e também promover o conhecimentos de soluções encontradas em qualquer região.

Conclusão

Comentário da equipe: Dedicamos este trabalho a um filme que emocionou platéias no mundo: O Homem Bicentenário, que relatava a busca do robô Andrew pelo seu reconhecimento como ser Humano. E como conclusão desta pesquisa, vimos que o Robotics Studio é um ambiente de desenvolvimento para robotica que traz grandes ferramentas como: simulador 3D que respeita as leis da Fisica, um ambiente Visual para programação ( com multiplas liguagens ) e controles de dispositivos em tempo real; ou seja podemos programar e testar nossos codigos e ate mesmo reaproveita-lo.

Fontes de Pesquisa

Bibliografia Eletrônica -
http://www.din.uem.br/~ia/a_correl/classicos/Pesquisadores-Asimov.htm
http://msdn2.microsoft.com/pt-br/robotics/default.aspx
http://www.din.uem.br/ia/robotica/index.htm em 26/09/2007 as 12:15
http://www.terra.com.br/istoedinheiro/361/ecommerce/invasao_robos.htm - 29/09/2007 as 20:19h

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License