主要内容

使用树莓派Sense HAT控制乐高MINDSTORMS EV3机器人

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

简介

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

  • 湿度传感器

  • 压力传感器

  • IMU传感器(加速度计,陀螺仪和磁强计)。

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

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

  • 树莓派模型在这个模型中,我们将读取感应HAT上的加速度计。我们将使用从Sense HAT加速度计读取的加速度数据来确定EV3机器人的电机速度。树莓派设备和EV3机器人之间将建立网络连接,用于数据交换。

  • 乐高头脑风暴EV3模型在这个模型中,我们将使用LEGO MINDSTORMS EV3的通信块来接收树莓派发送的数据。接收到的数据将用于驱动EV3机器人的电机。

这个例子将帮助你学习以下内容:

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

  • 配置并运行树莓派的Simulink模型,金宝app读取Sense HAT上的加速度计,并使用加速度数据确定EV3机器人的电机速度。

  • 为乐高MINDSTORMS EV3机器人金宝app配置并运行Simulink模型,以接收来自树莓派硬件的数据,并使用它来驱动EV3机器人电机。

先决条件

所需的硬件

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

  • 树莓派硬件

  • 树莓派Sense HAT

  • 乐高头脑风暴ev3

  • 两个乐高MINDSTORMS EV3大型马达

  • EV3无线加密狗

机器人运动控制工作原理

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

对应于Sense HAT给定位置的“俯仰”和“滚转”值可以从Sense HAT上的加速度计测量的加速度通过数学方法确定。我们将Sense HAT的“俯仰”和“翻滚”运动映射到EV3机器人的运动。“俯仰”将代表电机的向前和反向运动,而“滚动”将代表机器人的侧向运动。

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

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

任务1 -熟悉使用主机模型控制EV3

主机模型控制乐高MINDSTORMS EV3机器人这个例子展示了在主机上运行的Simulink模型中使用仪表板小部件来控制EV3机器人的运动。金宝appEV3和主机之间的通信使用UDP。

完成此示例,以熟悉如何在EV3和主机模型之间建立通信链路以进行数据交换。

任务2 -为树莓派安装Simuli金宝appnk支持包金宝app

你需要金宝app树莓派的金宝appSimulink支持包在树莓派硬件上金宝app运行Simulink模型。

1.安装金宝app树莓派的金宝appSimulink支持包

请按连结下载并安装树莓派的Simulink支持包金宝app金宝app

2.完成树莓派硬件的Simulink支持包入门金宝app金宝app(金宝app树莓派硬金宝app件的Simulink支持包)的例子金宝app树莓派的金宝appSimulink支持包你刚刚安装了。

任务3 -熟悉Sense HAT加速度计

自动旋转显示在Sense HAT LED矩阵上的图像(金宝app树莓派硬金宝app件的Simulink支持包)示例展示了加速度计在树莓派Sense HAT上的使用。加速度数据用于自动旋转显示在Sense HAT的LED矩阵上的图像。

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

任务4 -设置乐高头脑风暴EV3机器人

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

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

2.在EV3砖和主机之间建立连接。请参阅中任务1和任务2乐高®MINDSTORMS®EV3™硬件入门的例子。

任务4 -配置网络连接

在本任务中,您将在树莓派板和乐高MINDSTORMS EV3之间建立网络连接。本例中使用的通信协议为UDP。

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

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

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

R =覆盆子

该命令返回一个带有树莓派板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地址。

任务6 -在树莓派硬件和乐高MINDSTORMS EV3机器人上运行模型

在这个任务中,我们将在相应的硬件上运行我们开发的模型。

1.硬件选项卡上,单击构建、部署和启动按钮的树莓派模型在树莓派硬件上运行模型。

2.硬件选项卡上,单击构建、部署和启动按钮的乐高头脑风暴EV3模型在乐高MINDSTORMS EV3硬件上运行模型。

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

其他可以尝试的事情

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

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

总结

本例展示了以下内容

  • 树莓派Sense HAT上的加速度计用于控制EV3机器人的运动。

  • 树莓派硬件通过UDP将左右电机的速度发送给EV3。

  • EV3接收这些数据并驱动电机。