2

我想知道机器人和电子产品中使用了哪些语言。它是像 Java、C、C++ 等低级语言吗?

如果这些机器人和电子设备可以从另一个地方控制,使用什么协议?

它不可能是 HTTP Rest,对吗?:)

4

8 回答 8

2

即使对于较小的平台,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/

于 2010-10-27T11:29:05.140 回答
1

我建造的大多数机器人都是用乐高 Mindstorms 建造的。您可以使用几种语言,但默认语言是可视化工作台。您可以通过蓝牙或红外线远程控制机器人(乐高包括一个 USB 连接的红外线发射器)

于 2010-10-27T11:26:56.817 回答
1

C/C++、Java 和 Python。

我想说 C/C++ 比 Java 和 Python 等语言更广泛地用于编程机器人,仅仅是因为那里已经有很多东西了。而且 C 也是嵌入式应用程序中非常常用的语言。我认识的许多业内人士都使用 C 作为控制机器人和硬件(如 RS-232、UART、步进电机等)的手段。

当我从事学术研究时,我的德国同事几乎只在自主机器人上使用 Java,并取得了令人满意的结果。如果您使用 Java,您只需在使用它时抽象硬件,这可以通过 Player / Stage 或 ROS 来完成。

这一切都取决于你想做什么,我猜。在我的特定领域(三菱 PLC)中,C++ 是首选语言。其他行业使用 C++ 对机器人进行编程,例如 Honda ASIMO。AMD ATi 使用 Python 对其图形加速器进行编程。几乎任何可以与通信端口对话的语言都可以用于机器人技术。

至于远程控制它们,Battlebots可能是一个很好的例子:

无论您选择哪种语言,您很快就会发现您需要用零和一来说话;)

于 2010-10-27T12:13:21.857 回答
1

我会说这取决于你的项目。我曾使用C/Assembler对电子微处理器进行编程,但我知道如果您的机器人操作系统允许,您也可以在某些项目中使用高级编程语言。如Java/C#等。有多种协议用于连接仪器,我认为TCP/IPUDP/IP是最常见的。但是有些人更喜欢编写/编程他们自己的协议。

于 2010-10-27T11:00:38.527 回答
1

乐高头脑风暴怎么样?除非您对排除 Mindstorms/NXT 的机器人的物理特性有特定要求,否则您可以用它做很多事情。这是一个严肃的工具包 - 不要被“乐高”品牌所迷惑​​。

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

除了附带自己的编程语言外,它还受到 Microsoft Robotics Developer Studio 的支持——因此您可以使用 .Net 为其编写代码。

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

它的优点在于它实际上是乐高积木,具有用于构建机器人本身的固有模块化积木系统,因此可以进行大量快速原型制作和实验,而无需购买专门的零件。

它内置蓝牙,允许远程控制。您还可以将已编译的程序代码下载到其中,以便它通过 USB 或蓝牙自主运行。

我在 2008 年购买了以前的版本,并在零件上添加了一些常规的 Technics 模型。它包括触摸传感器、声音传感器、超声波传感器、光/颜色传感器和(双向)伺服电机等东西,您可以获得陀螺仪、加速度计、指南针等第三方附加组件。非常有趣。

于 2010-10-27T11:23:37.543 回答
0

我最近在这本书的帮助下做了一个用 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

这本书向我展示了如何使用蓝牙与机器人交谈。

我还读到 BASIC 是一种很好的入门语言,在构建你的第一个机器人时。

于 2010-10-27T10:55:26.903 回答
0

免责声明:我不是专家。

我只有真正的Arduino经验,可以用汇编或 C(AVR-GCC工具链)进行编程。然而,如果目标环境足够强大或有足够的内存,那么没有什么可以阻止人们使用更高级别的语言——除了其他技术限制,比如硬实时要求——比如 Lua 或更高层次的东西。

至于通信,它也取决于最终的传输介质。例如,蓝牙,Zigbee,只是数字无线电通信,或者,你知道,几根线(甚至一根线)或其他什么,它会是一些带宽足够低的串行协议......但当然,这一切都取决于目标平台。

对于它的价值,关于 HTTP——我使用 Arduino 和可用的 Ethernet Shield 构建了一个 HTTP 可控 RGB 情绪灯(在颜色之间平滑渐变!:P)。HTTP 服务器在 Arduino 上运行。

于 2010-10-27T11:00:31.627 回答
0

您可以使用您最熟悉的不同类型的语言来控制机器人和电子产品。但这也取决于您尝试控制的小工具的类型,即如果您从头开始开发机器人或小工具,您可以使用它进行编程您选择的语言,例如 C、C++。Python ,Java 等。您还可以使用嵌入式语言通过您选择的语言对控制器进行编程,有许多不同的编译器仅可用于从控制器编译您的程序,例如 MicroC 是我经常使用的其中之一来编译我用于微控制器的嵌入式代码。如果您正在编程某种板,例如 Arduino,那么您可以使用它自己的 IDE 进行编程。要远程控制机器人和小工具,您可以使用多种不同的方式,即:

  1. 互联网:您可以通过将它们与 ESP8266、NodeMcu、GSM 模块等模块集成来使用互联网来控制它们,并使用自定义 Web 应用程序、移动应用程序来控制它们。这属于物联网 (IOT)。

2.蓝牙:您甚至可以通过将蓝牙模块与您的设备集成来使用蓝牙来控制设备,但蓝牙的范围很小。

  1. 射频射频:您也可以使用射频射频模块来控制偏远地区的机器人,但实施成本高于其他案例。
于 2019-05-10T04:53:13.860 回答