Artificial intelligence 如何创造现实生活中的机器人?

Artificial intelligence 如何创造现实生活中的机器人?,artificial-intelligence,robotics,Artificial Intelligence,Robotics,甚至在我学会编程之前,我就对机器人如何工作着迷了。现在我知道了底层编程指令是如何编写的,但我不明白的是机器人是如何遵循这些指令的 例如,如果我编写了以下代码: object=Robot.ScanSurroundings(300,400); if (Objects.isEatable(object)) { Robot.moveLeftArm(300,400); Robot.pickObject(object); } CPU将如何遵循该程序,使机器人执行向左看、移动手臂等物理动作?它主

甚至在我学会编程之前,我就对机器人如何工作着迷了。现在我知道了底层编程指令是如何编写的,但我不明白的是机器人是如何遵循这些指令的

例如,如果我编写了以下代码:

object=Robot.ScanSurroundings(300,400);
if (Objects.isEatable(object))
{
   Robot.moveLeftArm(300,400);
   Robot.pickObject(object);
}
CPU将如何遵循该程序,使机器人执行向左看、移动手臂等物理动作?它主要是用二进制语言/ASM完成的吗


最后,如果我想学习如何创建一个机器人,我会去哪里?

你必须有一个与硬件接口的驱动程序(很可能是一个带有马达的戳记或FPGA等等)。然后调用函数me.moveLeftArm(x,y);驾驶员会知道moveLeftArm()意味着移动执行器X秒/毫秒/度


我相信你会找到一个机器人编程的工具

可能更容易获得更高级的语言来描述机器人的行为和智能,并让低级语言来描述动作(移动手臂、行走、停止)。有很多关于智能代理BDI架构的研究,google就是其中之一


您可以在这里找到更多信息,它是一个用于描述Java中的代理行为的DSL。它叫Jason解释器,语言是AgentSpeak(L)。

您应该检查一下(MRS)。他们有很多,而且。此外,Channel9还就机器人主题进行了大量的测试、采访等。包括演示和对MRS.开发者的采访。

机器人将通过与硬件交互来工作。代码中的桥接通常通过不同类型的I/O端口完成。例如,它可能只是一根RS232电缆(您知道那些旧的COM1端口)。硬件部件将由电机(如传感器)和传感器(如超声波以感知障碍物、激光以获取距离或开关)组成

您不需要使用汇编程序来实现这一点,有很多语言(如果不是大多数的话)可以做到这一点,但它需要关于如何与硬件交互的知识。就像写一个司机。如果你想自己制造机器人,它至少需要基本的电子设备

如果你感兴趣,我建议你看看哪一本是好的入门书

此外,你可以尝试编程a,这是很容易遵循教程,这将给你一个良好的开端,如何建立机器人。它不太贵,而且您很快就能与硬件交互


祝你好运,玩得开心

如果你擅长编程,你可能会发现你甚至不需要机器人来测试你需要编写的大部分最难的代码。。。(也就是说,让机器人看到并识别一个场景总是让我着迷……但在某个时候,我意识到解决这个问题所需的物理机器人是容易的部分……软件是难的部分!)…

最后,必须将高级命令分解为非常低级的命令。必须将“拿起杯子”转化为如何移动手臂(关节应处于什么角度)和实际转动电机的硬件命令

有一些框架试图提供一些这种翻译,包括(但不限于):

然而,由于机器人技术研究对系统的每一层都感兴趣,因此提供整个翻译堆栈的系统并不多。如果你想进入机器人领域,有几个系统试图让这更容易(同样是随机样本):


如果做不到这一点,像这样的网站甚至提供了建造机器人项目的指南。挑战是找到一个让你兴奋的项目,然后去城里

在大多数现代机器人中,机构(在本例中为手臂)都有一个反向运动学模型,该模型将空间坐标转换为手臂关节的位置。这些关节通常由伺服电机移动。要平滑移动手臂,需要一系列中间关节位置来定义手臂要遵循的路径。你还必须担心关节的速度,它们共同控制着手臂末端“手”的速度

当手臂移动时,您的伺服系统将获得关于其实际位置的反馈。简单的伺服系统可以使用基本的PID反馈回路来调整电机。更复杂的系统将包括补偿惯性、重力、摩擦等的前馈参数。这些可能变得非常复杂


当你不得不在机器人周围的空间中设置障碍物时,真正的乐趣就开始了。你必须感觉到障碍,并找出如何避免它,仍然达到目的地

如果你想要Java替代品,我可以推荐这本书。它有很多关于从哪里获得工具包、零件和传感器的好信息,以及完整的Java源代码清单。

找到当地的机器人团队,并自愿成为导师。首先是为中学生和中学生举办的机器人比赛。我们的目标是让孩子们做所有的工作来建造、编程、测试和运行机器人,但你仍然有很多机会深入研究并真正学习软件。他们正在使用国家仪器,并且,截至2月8日,今年刚刚开始区域竞争。LabView是一个图形化编程环境,它与NI硬件接口,允许您对电机、执行器和传感器进行编程。NI的东西非常精巧,使用起来也非常简单,而且每个团队都可以免费使用,所以你不必自己购买硬件和软件(至少可以开始使用)。此外,你还可以获得帮助新一代工程师起步的额外好处。

我也有同样的渴望。。我要买我的第一个和一些可以使用总线的传感器/伺服。我要走了