主要内容

用树莓派感应HAT控制乐高机器人EV3

这个例子展示了如何读取树莓派™Sense HAT上的加速度计,并使用这些数据来控制乐高®MINDSTORMS®EV3机器人的运动。

介绍

树莓派的感觉HAT是一个附加板的树莓派硬件。它有一个8X8 RGB LED矩阵,一个五位置操纵杆,并包括以下传感器:

  • 湿度传感器

  • 压力传感器

  • IMU传感器(加速度计、陀螺仪和磁力计)

LEGO MINDSTORMS EV3是由LEGO开发的基于Linux的教育机器人套件。该Sim金宝appulink金宝app®支持包的乐高MINDSTORMS EV3硬件使您能够创建和运行Simulink模型在乐高MINDSTORMS EV3硬件。该支持包金宝app包括一个Simulink模块库,用于配置和访问LEGO MINDSTORMS金宝app EV3传感器和执行器。

我们将开发两个Simulink模型:金宝app

  • 覆盆子π模型在该模型中,加速度传感器读取的数据用于确定EV3机器人的电机速度。在树莓派设备和EV3机器人之间建立网络连接,进行数据交换。

  • 乐高EV3模型在该模型中,利用树莓派设备发送的数据驱动EV3机器人的两个电机。

您将学习如何:

  • 搭建树莓派硬件与乐高MINDSTORMS EV3机器人的网络连接

  • 配置和运行Simulink模型的树莓派硬金宝app件发送UDP数据包乐高MINDSTORMS EV3机器人

  • 配置并运行LEGO MINDSTORMS金宝app EV3机器人的Simulink模型来接收来自树莓派硬件的UDP报文。

先决条件

所需的硬件

要运行这个例子,你需要以下硬件:

  • 覆盆子π硬件

  • 树莓派感觉帽子

  • 乐高头脑风暴EV3

  • 两个乐高玩具头脑风暴EV3大型汽车

  • EV3 wi - fi无线上网卡

机器人运动控制工作原理

在本节中,我们将讨论如何使用加速度数据来控制机器人的运动。

根据加速度计的数据,我们可以用数学方法确定Sense HAT给定位置的“俯仰”和“滚动”值。我们可以将Sense HAT的“俯仰”和“翻滚”运动映射到EV3机器人的运动中。“俯仰”表示电机的向前和向后运动,而“滚转”表示机器人的侧向运动。

将“俯仰角”和“滚转角”的数值转换为电机的线速度所需的数学方程是使用Simulink中树莓派模型的MATLAB函数块实现的。金宝app

树莓派与EV3砖之间建立了数据交换的通信链路。直线电机的速度从俯仰和滚动值通过UDP从树莓派发送到EV3。EV3接收这些数据,并将其用作驱动两个电机的输入。

任务1 -熟悉Sense HAT加速度计(推荐)

自动旋转图像显示树莓派感觉HAT LED矩阵例子显示了加速计在树莓派感觉HAT上的使用。加速度数据用于自动旋转Sense HAT的LED矩阵上显示的图像。

完成这个例子来熟悉加速计的用法。

任务2 -安装LEGO MINDS金宝appTORM金宝appS EV3的Simulink支持包

你需要金宝app乐高MI金宝appNDSTORMS EV3的Simulink支持包在LEGO M金宝appINDSTORMS EV3硬件上运行Simulink模型。

1.安装金宝app乐高MI金宝appNDSTORMS EV3的Simulink支持包

请按以下连结至

下载并安装LEGO MINDSTORMS 金宝appEV3的金宝appSimulink支持包

2.(推荐)完成乐高EV3硬件入门的例子金宝app乐高MI金宝appNDSTORMS EV3的Simulink支持包你刚刚安装。

任务3 -搭建LEGO MINDSTORMS EV3机器人

在本任务中,我们将构建一个EV3机器人,并将EV3砖块连接到与主机PC相同的网络中。

1.制作一个两轮机器人。您可以构建一个类似于教育核心集中打印的建筑说明中描述的机器人。

2.在EV3砖块和您的主机之间建立连接。请参见任务1和任务2乐高EV3硬件入门的例子。

任务4 -配置网络连接

在这个任务中,你将建立树莓派板与乐高MINDSTORMS EV3之间的网络连接。本例中使用的通信协议为UDP。您也可以选择使用TCP/IP协议。TCP/IP发送/接收模块在LEGO MINDSTORMS EV3和Raspberry Pi的库中可用。

1.将树莓派板通过以太网接口用以太网线连接到网络。请确保树莓派主板和EV3机器人连接在同一个网络上。

2.验证你的树莓派板和乐高MINDSTORMS EV3之间的连接。

在MATLAB命令提示符下执行以下命令:

r = raspberrypi

这个命令返回一个带有树莓派板IP地址信息的对象。

运行命令system(r, 'sudo ping [EV3_IP_Address] -c 10')使用任务3步骤2中找到的LEGO MINDSTORMS EV3 IP地址来验证连接。如。

系统(r,'sudo ping 192.168.1.2 -c 10'

3.连接确认后,打开覆盆子π模型和更新发送到EV3块与您的EV3硬件的IP地址。

任务5 -在树莓派硬件和乐金宝app高MINDSTORMS EV3机器人上运行Simulink模型

在本任务中,我们将运行在各自硬件上开发的模型。

1.硬件的Simulink模型,在金宝app模式部分中,选择机上运行然后点击构建、部署和启动在你的树莓派硬件上运行S金宝appimulink模型。

2.硬件标签的乐高MINDSTORMS EV3 Simulink模型,金宝app在模式部分中,选择机上运行然后点击构建、部署和启动在你的LEGO MIND金宝appSTORMS EV3硬件上运行这个Simulink模型。

3.使用连接树莓派硬件的Sense HAT控制EV3机器人。

其他可以尝试的事情

1.改进了EV3机器人的控制系统。尝试加入PID控制器。

EV3驱动闭环并对EV3机器人的控制算法进行了改进。

2.利用Sense HAT上的操纵杆开发了一个控制EV3机器人的模型。使用Sense HAT库中的操纵杆块来读取Sense HAT上的操纵杆状态。