我想知道机器人和电子产品中使用了哪些语言。它是像 Java、C、C++ 等低级语言吗?
如果这些机器人和电子设备可以从另一个地方控制,使用什么协议?
它不可能是 HTTP Rest,对吗?:)
我想知道机器人和电子产品中使用了哪些语言。它是像 Java、C、C++ 等低级语言吗?
如果这些机器人和电子设备可以从另一个地方控制,使用什么协议?
它不可能是 HTTP Rest,对吗?:)
即使对于较小的平台,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/
我建造的大多数机器人都是用乐高 Mindstorms 建造的。您可以使用几种语言,但默认语言是可视化工作台。您可以通过蓝牙或红外线远程控制机器人(乐高包括一个 USB 连接的红外线发射器)
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可能是一个很好的例子:
无论您选择哪种语言,您很快就会发现您需要用零和一来说话;)
我会说这取决于你的项目。我曾使用C/Assembler对电子微处理器进行编程,但我知道如果您的机器人操作系统允许,您也可以在某些项目中使用高级编程语言。如Java/C#等。有多种协议用于连接仪器,我认为TCP/IP或UDP/IP是最常见的。但是有些人更喜欢编写/编程他们自己的协议。
乐高头脑风暴怎么样?除非您对排除 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 模型。它包括触摸传感器、声音传感器、超声波传感器、光/颜色传感器和(双向)伺服电机等东西,您可以获得陀螺仪、加速度计、指南针等第三方附加组件。非常有趣。
我最近在这本书的帮助下做了一个用 Java 编程的简单遥控机器人
这本书向我展示了如何使用蓝牙与机器人交谈。
我还读到 BASIC 是一种很好的入门语言,在构建你的第一个机器人时。
免责声明:我不是专家。
我只有真正的Arduino经验,可以用汇编或 C(AVR-GCC工具链)进行编程。然而,如果目标环境足够强大或有足够的内存,那么没有什么可以阻止人们使用更高级别的语言——除了其他技术限制,比如硬实时要求——比如 Lua 或更高层次的东西。
至于通信,它也取决于最终的传输介质。例如,蓝牙,Zigbee,只是数字无线电通信,或者,你知道,几根线(甚至一根线)或其他什么,它会是一些带宽足够低的串行协议......但当然,这一切都取决于目标平台。
对于它的价值,关于 HTTP——我使用 Arduino 和可用的 Ethernet Shield 构建了一个 HTTP 可控 RGB 情绪灯(在颜色之间平滑渐变!:P)。HTTP 服务器在 Arduino 上运行。
您可以使用您最熟悉的不同类型的语言来控制机器人和电子产品。但这也取决于您尝试控制的小工具的类型,即如果您从头开始开发机器人或小工具,您可以使用它进行编程您选择的语言,例如 C、C++。Python ,Java 等。您还可以使用嵌入式语言通过您选择的语言对控制器进行编程,有许多不同的编译器仅可用于从控制器编译您的程序,例如 MicroC 是我经常使用的其中之一来编译我用于微控制器的嵌入式代码。如果您正在编程某种板,例如 Arduino,那么您可以使用它自己的 IDE 进行编程。要远程控制机器人和小工具,您可以使用多种不同的方式,即:
2.蓝牙:您甚至可以通过将蓝牙模块与您的设备集成来使用蓝牙来控制设备,但蓝牙的范围很小。