国外课栈 - 国外电子信息技术

机器人嵌入式控制平台及仿真

 二维码 21
文章附图

相关知识

执行器

驱动机器人的运动能力来自多个执行器-在大多数情况下为两个电动机。 人们可以想象到的最简单的机械驱动系统称为差速驱动,它是一个机器人平台,上面装有两个单独控制的轮式电动机(见下图)。 如果两个电动机均以相同的速度向前驱动,则机器人沿直线向前驱动。 同样,用于向后行驶。 如果一台电动机的运行速度比另一台电动机快,例如,左马达的运行速度比右马达快,则机器人将以曲线形式行驶-在这种情况下为右(或顺时针)曲线。 最后,如果一个电动机向前行驶(例如,向左),而另一个电动机向后行驶,则机器人将在现场打开(此处:顺时针)。

传感器

运动功能仅是移动机器人的一半。 另一半正在感应。 即使对于最简单的机器人,我们也使用三种类型的传感器。 从复杂性的角度来看,它们是轴编码器,红外距离传感器和数码相机。

轴编码器

轴编码器是简单的传感器,可提供反馈以控制机器人的电机速度(速度控制)以及测量机器人行进的距离(位置控制)。 他们计算每一个微小的电机轴旋转,并通过机器人的运动学公式将其转化为平移和旋转位置(姿势)的变化。 当然,这仅在机器人牢固地放在地面上且没有车轮打滑的情况下才有效。 但是即使那样,每个编码器的“滴答”也总是存在很小的误差,因此在较大的距离上行驶时,仅从编码器值得出的位置和方向将变得非常不准确且不可靠。

通常使用带槽的盘(下图),该盘交替使红外LED光束通过并阻挡它。

车轮旋转时,这会产生一个矩形信号(下图)。

此原理的一种变化形式是使用交替交替的白色和黑色扇区的反射盘(Siemens Star)以及同一侧上的LED和检测器。

红外距离传感器

红外距离传感器也称为位置敏感设备(PSD)。 它们发出人眼看不见的光束,并使用来自物体的反射来计算距离值。 根据反射光束在检测器阵列上的位置,物体离物体的距离更近或更远(下图)。

我们的机器人至少使用这些传感器中的三个,分别指向前方,左侧和右侧,以计算在这些方向上与墙壁或障碍物的距离。

PSD具有各种不同的形状和形式(如下图)。 它们还具有不同的接口,即模拟或数字输出值。

数码相机

数码相机比以前提到的传感器复杂得多,功能也更强大。 每个图像帧可提供数百万个像素,每秒可传输数次。 在非常中等的VGA分辨率下,像素为640×480,每个像素分别为25赫兹(PAL3)或30赫兹(NTSC4)的3个字节,因此PAL超过23 MB / s,NTSC接近28 MB / s。 下图在Raspberry Pi摄像头模块(右)旁边显示了我们自己的机器人相机系统(左)。 标准的Raspberry Pi相机具有固定的不可更换镜头。 如果视场(或其他相机参数)不适合您的机器人应用,则可以使用带有可更换板载镜头的第三方相机。 各种各样的板载镜头可用于大多数应用。

由于庞大的数据量需要强大的控制器进行处理,因此我们通常以较低的图像分辨率工作,以保持10 fps(每秒帧)或更高的整体处理速度。 下图的图像是以80×60像素的分辨率拍摄的-可能像人们想要的那样低,但是正如您所看到的,仍然可以看到很多细节。

用户界面

尽管从技术上讲并不是真正必要,但我们所有的机器人都带有触摸屏形式的用户界面(下图)。 这样,机器人可以显示传感器和测量结果,并且用户可以使用软按钮输入选择参数的命令。 该界面可与真实机器人“背面”上的物理LCD配合使用,可在笔记本电脑窗口中通过PC上的WiFi远程桌面甚至在仿真中使用。

处理器

执行器和传感器必须连接到嵌入式控制器。 我们的选择是将Raspberry Pi与我们自己的用于I / O和电机驱动器的机器人板结合使用(下图)。

它基于类似于Arduino的Atmel XMEGA A1U处理器,并通过USB线链接到主控制器。机器人机械手I / O板提供了许多Raspberry Pi(下图)不具备的接口:

  • 4个带编码器的H桥电机驱动器
  • 14个伺服输出
  • 16个数字I / O线路
  • 8个模拟输入线路

整合

整合在一起,我们就可以构建一个完整的机器人。 差动驱动系统可以在机器人底盘的中间或背面,带有一个或两个被动脚轮,以防止机器人跌落。 我们添加了面向前,左和右的PSD传感器,以及朝前看的摄像头。 Raspberry Pi控制器夹在顶部的触摸屏和下面的机器人I / O板之间。 下图中的照片显示了我们的紧凑型SoccerBot S4,

而下图显示了机械上更简单但略宽的机器人框。

下图中的图显示了主要的硬件设置。 显示器,摄像头和高级传感器(例如具有USB或LAN连接的GPS,IMU,Lidar等)直接链接到Raspberry Pi控制器。 机器人 I / O板为驱动马达,伺服器和低电平传感器搭建了桥梁。 它通过USB与Raspberry Pi通信。

没有专用I / O板的一种甚至更简单的方法如下图所示。 当使用带有内置转向伺服系统和数字电动机控制器的模型车平台时,为了行驶,我们只需要两条PWM(脉宽调制)输出线,就可以在Raspberry Pi控制器上直接访问它们。 但是,在Raspberry Pi控制器上,这些是通过软件实现的,而机器人I / O板具有专用的PWM硬件。 由于我们不在Raspberry Pi上使用实时操作系统,因此可能存在由于在控制器上执行不同任务时的时序变化,导致转向伺服系统出现一些明显的抖动。 尽管驱动电机控制会有类似的变化,但这些变化的影响较小,几乎没有引起注意。

通讯

现在,每个机器人都是独立的自主车辆。 然而,甚至对于单个机器人来说,也非常希望具有到膝上型计算机或台式PC的无线通信链路,以便将程序传输到机器人或从机器人传回数据。 当使用多个机器人时,我们希望拥有一个通信网络,使机器人彼此通信

我们的网络基于Raspberry Pi的内置WiFi模块。 默认情况下,每个机器人都有自己的WiFi热点,因此我们可以轻松地通过笔记本电脑,平板电脑或智能手机连接到它。

默认的WiFi热点网络名称和密码为 PI_12345678 和 raspberry。

其中的数字是从Pi的MAC地址自动得出的,从而允许在同一房间中操作多个独立的机器人。

WiFi的默认IP地址很容易记住:10.1.1.1

机器人-Raspian发行版的默认用户名和密码为pi 和 rasp。

使用LAN电缆进行连接时,它是相同的用户名和密码,并且具有相同的默认IP地址:10.1.1.1

当将多个机械手作为一个组使用时,它们的网络设置可以更改为“从属”,将它们链接到通用的DHCP6 WiFi路由器。 这样,所有机器人都可以直接相互通信,也可以与非机器人基站进行通信。 操作员的便携式计算机。

仿真

我们应该强调,我们已经创建了一个逼真的机器人行为仿真。 机器人程序可以直接从仿真转移到真实的机器人上,而无需更改一行源代码。 没有不切实际的假设,没有虚拟的(如意的)传感器,没有“作弊”。 甚至错误设置也是非常现实的,可以进行调整。 世界上没有完美的世界:被告知要驱动1.0m的机器人总是会偏离一点点(例如0.99m或1.01m),并且传感器读数也不总是100%正确–我们的仿真环境反映了这一点。

机器人嵌入式控制平台细节

机器人嵌入式控制平台仿真细节

机器人嵌入式控制平台功能

软件

算法

激光雷达

机器人群

行走

迷宫

视觉

转向

自主

阅读完整文档

文章分类: 嵌入式机器人
分享到: