Какие языки/интернет-протоколы используются для удаленного управления роботами/электроникой?

StackOverflow https://stackoverflow.com/questions/4032394

Вопрос

Интересно, какие языки используются в роботах и ​​электронике.Это языки низкого уровня, такие как Java, C, C++ и т. д.?

А если этими роботами и электроникой можно будет управлять из другого места, какой протокол используется?

Это не может быть HTTP Rest, не так ли?:)

Это было полезно?

Решение

А как насчет LEGO Mindstorms?Если у вас нет особых требований к физическим свойствам робота, которые исключают Mindstorms/NXT, вы можете многое с ним сделать.И это серьезный комплект — не дайте себя обмануть бренду «LEGO».

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

Помимо того, что он поставляется с собственным языком программирования, он также поддерживается Microsoft Robotics Developer Studio, поэтому вы можете использовать .Net для его написания кода.

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

Самое замечательное в этом то, что на самом деле это LEGO с его модульной системой сборки самого робота, что позволяет быстро создавать прототипы и экспериментировать без необходимости покупать специализированные детали.

Он имеет встроенный Bluetooth, позволяющий осуществлять дистанционное управление.Вы также можете загрузить на него скомпилированный программный код, чтобы он работал автономно через USB или Bluetooth.

Я купил предыдущую версию еще в 2008 году и дополнил ее некоторыми обычными моделями Technics на запчасти.Он включает в себя такие элементы, как сенсорные датчики, датчики звука, ультразвуковые датчики, датчики света/цвета и (двусторонние) серводвигатели, а также вы можете получить сторонние дополнения, такие как гироскоп, акселерометр, компас и т. д.Безудержное веселье.

Другие советы

Ada также становится жизнеспособным выбором языка программирования даже для небольших платформ.У Ada очень хорошая поддержка как низкоуровневых операций, так и высокоуровневых операций.

В качестве примера небольших платформ Ada доступна для Atmel AVR (8-бит) как AVR-Ada.Видеть http://sourceforge.net/apps/mediawiki/avr-ada/index.php?title=Main_Page

Для LEGO MindStorms Ada доступна на GNAT в виде версии GPL, которая также поддерживает профиль задач Ravenscar.Следовательно, вы можете легко создавать многозадачные приложения на платформе MindStorms.Видеть http://libre.adacore.com/libre/tools/mindstorms/

Я бы сказал, что это зависит от вашего проекта.я использовал Си/Ассемблер для программирования электронного микропроцессора, но я знаю, что вы можете использовать и языки программирования высокого уровня для некоторых проектов, если операционная система вашего робота позволяет это.Например, Java/C# и так далее.Для подключения к прибору используются различные протоколы, и я считаю, что TCP/IP или UDP/IP является наиболее распространенным.Но некоторые люди предпочитают писать/программировать свои собственные протоколы.

Большинство роботов, которые я построил, были построены с помощью Lego Mindstorms.Вы можете использовать несколько языков, но языком по умолчанию является визуальный инструментарий.Вы можете удаленно управлять роботом через Bluetooth или ИК-порт (в комплект Lego входит ИК-передатчик с USB-подключением).

C/C++, Java и Python.

Я бы сказал, что C/C++ более широко используются для программирования роботов, чем такие языки, как Java и Python, просто потому, что уже существует так много всего.Кроме того, C является очень часто используемым языком для встроенных приложений.Многие люди, которых я знаю в промышленности, используют C как средство управления роботами и оборудованием, таким как RS-232, UART, шаговые двигатели и т. д.

Когда я занимался академическими исследованиями, мои немецкие коллеги использовали Java почти исключительно на автономных роботах и ​​добились удовлетворительных результатов.Если вы используете Java, вам просто нужно абстрагировать оборудование при его использовании, что можно сделать с помощью Player/Stage или ROS.

Я думаю, все зависит от того, что вы хотите сделать.В моей конкретной области (ПЛК Mitsubishi) предпочтительным языком является C++.Другие отрасли используют C++ для программирования робототехники, например Honda ASIMO.AMD ATi использует Python для программирования своих графических ускорителей.Практически любой язык, на котором можно общаться с коммуникационным портом, можно использовать для робототехники.

Что касается удаленного управления ими, Боевые роботы вероятно, будет отличным примером:

Какой бы язык вы ни выбрали, вскоре вы обнаружите, что вам придется говорить нулями и единицами ;)

Недавно я сделал простого робота с дистанционным управлением, запрограммированного на Java, с помощью этой книги.

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

Эта книга показала мне, как разговаривать с роботом с помощью Bluetooth.

Я также читал, что BASIC — хороший язык для начала, когда вы создаете своего первого робота.

Отказ от ответственности:Я не эксперт.

У меня действительно есть только опыт Ардуино, который можно запрограммировать на ассемблере или C ( АВР-ССЗ набор инструментов).Однако, если целевая среда достаточно мощна или имеет достаточно памяти, ничто не мешает использовать язык более высокого уровня, за исключением других технических ограничений, таких как, скажем, жесткий режим реального времени требование - например, Lua или что-то еще более высокого уровня.

Что касается коммуникаций, то это также зависит от конечной транспортной среды.Например, Bluetooth, Zigbee, просто цифровая радиосвязь или, может быть, ну, пара проводов (или даже один провод) или что-то в этом роде, это будет какой-нибудь последовательный протокол с достаточно низкой пропускной способностью...Но, конечно, все зависит от целевой платформы.

Что касается HTTP, то я создал управляемую по HTTP подсветку RGB (которая плавно переходит между цветами!:P) с использованием Arduino и доступного для него Ethernet Shield.HTTP-сервер работает на Arduino.

Вы можете управлять роботами и электронными гаджетами на разных языках, на которых вам удобнее всего. Но это также зависит от типа гаджетов, которыми вы пытаетесь управлять, т. е. если вы разрабатываете робота или гаджет с нуля, вы можете запрограммировать его с помощью язык по вашему выбору, например C, C++.Python, Java и т. д. Вы также можете использовать встроенный язык для программирования контроллера на выбранном вами языке. Существует множество различных компиляторов, доступных только для компиляции вашей программы из контроллера, например, MicroC - один из них, который я часто использую для компиляции. Мой встроенный код для микроконтроллеров. Если вы программируете какую-то плату, например Arduino, вы можете использовать собственную IDE, где вы можете ее запрограммировать.Для удаленного управления роботами и гаджетами вы можете использовать множество разных способов, а именно:

  1. Интернет:Вы можете использовать Интернет для управления ими, интегрируя их с такими модулями, как ESP8266, NodeMcu, GSM-модули и т. д., а также использовать специальное веб-приложение и мобильное приложение для управления ими. Это относится к Интернету вещей (IOT).

2. Bluetooth:Вы даже можете использовать Bluetooth для управления устройствами, интегрировав модуль Bluetooth в ваше устройство, но радиус действия Bluetooth невелик.

  1. Радиочастота РФ:Вы также можете использовать радиочастотные радиочастотные модули для управления роботами в отдаленных районах, но стоимость внедрения выше, чем в остальных случаях.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top