Pergunta

Eu me pergunto quais linguagens são usadas em robôs e eletrônicos.São linguagens de baixo nível como Java, C, C++ etc?

E se esses robôs e eletrônicos pudessem ser controlados de outro lugar, qual protocolo seria usado?

Não poderia ser HTTP Rest, poderia?:)

Foi útil?

Solução

Que tal LEGO Mindstorms?A menos que você tenha requisitos específicos em relação às propriedades físicas do robô que excluam Mindstorms/NXT, você pode fazer muito com ele.E é um kit sério - não se deixe enganar pela marca “LEGO”.

http://mindstorms.lego.com/en-us/Default.aspx

Além de ser fornecido com sua própria linguagem de programação, ele também é compatível com o Microsoft Robotics Developer Studio - portanto, você pode usar .Net para codificá-lo.

http://msdn.microsoft.com/en-us/robotics/default

A melhor coisa sobre isso é que na verdade é LEGO, com seu sistema de tijolos inerentemente modular para construir o próprio robô, e assim permite muita prototipagem e experimentação rápidas, sem a necessidade de comprar peças especializadas.

Possui Bluetooth integrado, permitindo controle remoto.Você também pode baixar o código do programa compilado para ele, para que funcione de forma autônoma, via USB ou Bluetooth.

Comprei a versão anterior em 2008 e ampliei com alguns modelos regulares da Technics para peças.Inclui coisas como sensores de toque, sensores de som, sensores ultrassônicos, sensores de luz/cor e servo motores (bidirecionais), e você pode obter complementos de terceiros, como giroscópio, acelerômetro, bússola, etc.Muito divertido.

Outras dicas

Ada também está se tornando uma escolha viável para linguagem de programação, mesmo para plataformas menores.Ada tem um suporte muito bom para operações de baixo nível, bem como para coisas de alto nível.

Como exemplos de plataformas menores, Ada está disponível para Atmel AVR (8 bits) como AVR-Ada.Ver http://sourceforge.net/apps/mediawiki/avr-ada/index.php?title=Main_Page

Para LEGO MindStorms, Ada está disponível no GNAT como versão GPL, que também suporta o perfil de tarefas Ravenscar.Portanto, você pode criar facilmente aplicativos multitarefa na plataforma MindStorms.Ver http://libre.adacore.com/libre/tools/mindstorms/

Eu diria que depende do seu projeto.eu usei C/Montador programar um microprocessador eletrônico, mas sei que você também pode usar linguagens de programação de alto nível para alguns projetos, se o sistema operacional do seu robô permitir.Como Java/C# e assim por diante.Há uma variedade de protocolos usados ​​para conectar um instrumento, e acredito que TCP/IP ou UDP/IP é o mais comum.Mas algumas pessoas preferem escrever/programar seus próprios protocolos.

A maioria dos robôs que construí foram construídos com Lego Mindstorms.Existem alguns idiomas que você pode usar, mas o idioma padrão é um ambiente de trabalho visual.Você pode controlar remotamente o robô via Bluetooth ou IR (e o Lego inclui um transmissor IR conectado por USB)

C/C++, Java e Python.

Eu diria que C/C++ é mais amplamente usado do que linguagens como Java e Python para programar robôs, simplesmente porque já existe muita coisa por aí.E C também é uma linguagem muito usada para aplicativos incorporados.Muitas pessoas que conheço na indústria usam C como meio para controlar robôs e hardware como RS-232, UARTs, motores de passo, etc.

Quando eu trabalhava em pesquisas acadêmicas, meus colegas alemães usavam Java quase exclusivamente em robôs autônomos, com resultados satisfatórios.Se você usa Java basta abstrair o hardware ao usá-lo, o que pode ser feito com Player/Stage ou ROS.

Tudo depende do que você quer fazer, eu acho.Na minha área específica (PLCs Mitsubishi), C++ é a linguagem de escolha.Outras indústrias usam C++ para programar robótica, como o Honda ASIMO.AMD ATi usa Python para programar seus aceleradores gráficos.Praticamente qualquer linguagem que possa se comunicar com uma porta de comunicação pode ser usada para robótica.

Quanto a controlá-los remotamente, Robôs de batalha provavelmente seria um excelente exemplo:

Seja qual for o idioma que você escolher, você logo descobrirá que precisará falar em termos de zeros e uns ;)

Recentemente fiz um robô simples controlado remotamente programado em Java com a ajuda deste livro

http://www.google.co.uk/products/catalog?q=build+java+robots&hl=en&cid=346434932749925759&ei=WATITISGE5_g2ASm_tilCQ&sa=title&ved=0CAcQ8wIwADgA#p

Este livro me mostrou como falar com o robô usando bluetooth.

Também li que BASIC é uma boa linguagem para começar, ao construir seu primeiro robô.

Isenção de responsabilidade:Não sou especialista.

Eu realmente só tenho experiência com Arduíno, que pode ser programado com assembly ou C (o AVR-GCC conjunto de ferramentas).No entanto, se o ambiente de destino for suficientemente poderoso ou tiver memória suficiente, não há nada que impeça alguém de usar uma linguagem de nível superior - além de outras restrições técnicas, como, digamos, um difícil em tempo real requisito - como, digamos, Lua ou algo de nível ainda mais alto.

Quanto às comunicações, depende também do meio de transporte final.Por exemplo, Bluetooth, Zigbee, apenas comunicação de rádio digital, ou talvez, você sabe, um alguns fios (ou mesmo um fio) ou qualquer outra coisa, seria algum protocolo serial de largura de banda suficientemente baixa...Mas é claro que tudo depende da plataforma alvo.

Pelo que vale, em relação ao HTTP - eu construí um moodlight RGB controlável por HTTP (que desaparece suavemente entre as cores!:P) usando Arduino e o Ethernet Shield disponível para ele.O servidor HTTP é executado no Arduino.

Você pode controlar robôs e dispositivos eletrônicos com diferentes tipos de idiomas nos quais se sentir mais confortável. Mas também depende do tipo de dispositivo que você está tentando controlar, ou seja, se estiver desenvolvendo um robô ou dispositivo do zero, você pode programá-lo com a linguagem de sua escolha como C, C++.Python, Java etc. Você também pode usar a linguagem incorporada para programar o controlador com sua escolha de linguagem. Existem muitos compiladores diferentes disponíveis apenas para compilar seu programa do controlador, por exemplo, MicroC é um deles que eu uso frequentemente para compilar meu código incorporado para microcontroladores. Se você estiver programando algum tipo de placa como o Arduino, poderá usar seu próprio IDE, onde poderá programá-lo.Para controlar os robôs e gadgets remotamente, você pode usar muitas maneiras diferentes, ou seja:

  1. Internet:Você pode usar a Internet para controlá-los, integrando-os com módulos como ESP8266, NodeMcu, módulos GSM, etc. e usar um aplicativo da web personalizado, aplicativo móvel para controlá-los.

2. Bluetooth:Você pode até usar o Bluetooth para controlar os dispositivos integrando um módulo bluetooth ao seu dispositivo, mas o alcance do bluetooth é baixo.

  1. Radiofrequência RF:Você também pode usar módulos RF de radiofrequência para controlar robôs em áreas remotas, mas o custo de implementação é maior do que no resto dos casos.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top