As melhores distribuições de robótica

As melhores distribuições de robótica
Para o desenvolvimento de robótica, existem muitas coleções disponíveis para escolher. Do hábito, os usuários do Linux procuram distribuições para encontrar a solução perfeita para seu projeto. Embora existam distribuições, você pode perder se não procurar bibliotecas comuns para ajudá -lo com determinadas tarefas. Quais ferramentas você já está usando também é uma consideração para levar a sério.

Como trabalhar com robôs será um esforço de desenvolvimento, a maioria das ferramentas que você precisará serão kits de ferramentas de desenvolvimento. A Open Source Robotics Foundation (OSRF) tem uma ótima página da web com recursos. Eles apoiam e mantêm o Sistema Operacional de Robótica (ROS). Esta é uma vasta coleção de ferramentas que você pode instalar no seu sistema existente ou como um contêiner.

O raciocínio por trás de uma distribuição

Quando você começa a experimentar robôs, você descobrirá muitas coisas que você não esperava quando começou. Você percebe o quanto as imagens de interpretação são importantes para o desenvolvimento da robótica? Em uma distribuição, você tem todas as ferramentas necessárias antes de saber que precisa.

Isso torna mais rápido começar e evita complicações à medida que os projetos evoluem. Você ocupará o espaço em disco desnecessariamente, mas o tamanho total do sistema não é grande para um computador moderno. À medida que você avança em seu projeto, certifique -se de saber o que colocar no robô e não. O seu espaço de disco restrições é muito mais rigoroso lá.

Ros - a maior e óbvia escolha

Como mencionado anteriormente, Ros tem uma vasta biblioteca de funções. Eles variam de controle de hardware, mensagens entre subsistemas a bibliotecas de visão e simuladores. O projeto é bem suportado pelo OSRF. Eles são, por sua vez, apoiados por muitos líderes do setor, e sua subsidiária comercial apoia as mesmas empresas em seus esforços.

Apesar da vasta gama de opções e do alto nível de sofisticação, um novo usuário pode começar usando alguns componentes padrão. Graças aos métodos cooperativos do OSRF, existem muitos robôs que foram construídos usando o ROS. Muitos são produtos de consumo que você pode comprar por uma quantia razoável e iniciar seu projeto para uma tarefa específica. Atualmente, os produtos disponíveis são de rodas, pernas e asas em drones voadores. Você pode até encontrar moradores de água, incluindo submarinos.

Este projeto durará você para uso industrial se você preferir ir para lá. Há um pouco de curva de aprendizado, mas você tem muito a aprender sobre robótica de qualquer maneira. De fato, quando você planeja seu primeiro projeto, certamente perderá muitos recursos que precisa apenas para uso básico.

Mobile Robotics Programming Toolkit

Como você verá quando você começar com robôs, grande parte do trabalho estará programando. Este kit de ferramentas ajuda você com SLAM (localização simultânea e mapeamento) e outras ferramentas de planejamento. Muitas das ferramentas têm a ver com visão. Uma peça interessante deste kit de ferramentas é o suporte para o hardware Kinect. As bibliotecas LibFreenect são as subjacentes para este projeto. Para adicioná -lo à sua instalação do Ubuntu, você pode pegar o PPA e instalá -lo com apt. Compilar o seu próprio requer GCC-7 ou mais recente, Clang-4 ou mais recente. Para mais informações e o que você precisa fazer quando estiver usando ROS, vá em sua página do Github.

Yarp

Nomeado 'ainda mais uma plataforma de robô', é baseada na ideia de que você usa o máximo possível das ferramentas existentes. Yarp é uma coleção de bibliotecas C ++ que define protocolos de comunicação para todos os níveis de projetos de robótica. Você tem três componentes de Yarp, Yarpos, Yarpsig e Yarpdev. Todos eles estão preocupados com como enviar dados entre os componentes do seu projeto. O componente Yarpos cria interfaces em direção ao sistema operacional que você está executando. Isso facilita a mudança do sistema operacional ou do hardware de um componente, mantendo os mesmos fluxos de dados YARP. Isso é necessário para executar as outras partes do sistema. Yarpsig lida com tarefas de processamento de sinal, ele interfina com o OpenCV e bibliotecas similares. Não faz o processamento. Yarpdev fornece interfaces para todos os tipos de dispositivos que você precisa. Pense em câmeras, microfones, motoristas de motor e muito mais. Yarp fará a interface para o sistema geral. Você também o usará para configurar seus dispositivos. Yarp ajudará você a planejar todos os outros softwares para que você possa usar o que existe por aí. Na verdade, você também tem a opção de executar alguns componentes sob ROS, enquanto outros correm yarp. Existem muitas opções disponíveis e você pode fazer a transição entre os dois gradualmente.

Conclusão

Quando você começar com robótica, você precisará de muitas partes de software. Cada controlador e computador incorporado têm necessidades e sistemas diferentes. Cada câmera tem um motorista de novo. Todos os dados precisam se mover entre subsistemas e componentes. Fica realmente complicado. Para começar mais rápido, você precisa ter um sistema que coordena tudo. Você faz isso tendo uma função de coordenação para mensagens e dados. Estes são organizados como 'tópicos,' nós 'e' serviços '. O motivo dessas diferentes funções é que, às vezes, você deseja executar comandos, às vezes deseja disponibilizar dados para muitas outras partes do sistema e também poderá enviar todos os dados para o sistema em geral.

É aqui que você precisa de uma distribuição ou de uma plataforma que mantém tudo isso coordenado. ROS é o sistema que funciona com a maioria, se não todos os hardware e tipos de projetos. Lembre -se de entender o que você está tentando alcançar com seu design. Isso é particularmente importante quando você está aprendendo. Se você tem um objetivo, todas as etapas têm um motivo e uma associação. Esse é o básico do aprendizado; Para ver a conexão entre a razão e a ação.