使用树莓派Sense HAT控制乐高MINDSTORMS EV3机器人
这个例子展示了如何读取树莓派™Sense HAT上的加速度计,并使用该数据来控制LEGO®MINDSTORMS®EV3机器人的运动。
简介
树莓派Sense HAT是树莓派硬件的附加板。它有一个8X8 RGB LED矩阵,一个五个位置的操纵杆,包括以下传感器:
湿度传感器
压力传感器
IMU传感器(加速度计、陀螺仪和磁强计)
乐高MINDSTORMS EV3是由乐高集团开发的基于Linux的教育机器人套件。LEGO MINDSTORMS EV3硬件的Simulink®支持包使您能够在LEGO MINDSTORMS EV3硬件上创建和运行Simulink模型。支持包包括一个Simulink模块库,用于配置和访问LEGO MINDSTORMS EV3传感器和执行器。
我们将开发两个Simulink模型:
树莓派模型在该模型中,通过加速度计On-board Sense HAT数据读取的数据用于确定EV3机器人的电机速度。树莓派设备与EV3机器人之间建立网络连接,进行数据交换。
乐高头脑风暴EV3模型在这个模型中,树莓派设备发送的数据被用来驱动EV3机器人的两个电机。
你将学习如何:
建立树莓派硬件与乐高MINDSTORMS EV3机器人之间的网络连接
为树莓派硬件配置并运行Simulink模型,向乐高MINDSTORMS EV3机器人发送UDP数据包
为乐高MINDSTORMS EV3机器人配置并运行Simulink模型,以接收来自树莓派硬件的UDP数据包。
先决条件
我们建议填写树莓派硬件的Simulink支持包入门的例子。
所需的硬件
要运行这个例子,你需要以下硬件:
树莓派硬件
树莓派Sense HAT
乐高头脑风暴ev3
两个乐高MINDSTORMS EV3大型马达
EV3无线加密狗
机器人运动控制工作原理
在本节中,我们将讨论如何使用加速度数据来控制机器人的运动。
从加速度计数据中,我们可以从数学上确定Sense HAT给定位置的“俯仰”和“滚转”的值。我们可以将Sense HAT的“俯仰”和“翻滚”运动映射到EV3机器人的运动中。“俯仰”表示电机的向前和反向运动,而“滚动”表示机器人的侧向运动。
将“俯仰”和“滚转”值转换为电机线性速度所需的数学方程是使用树莓派Simulink模型中的MATLAB函数块实现的。
树莓派与EV3砖之间建立通信链路,用于数据交换。由俯仰和滚转值得到的直线电机速度通过UDP从树莓派发送到EV3。EV3接收这些数据并将其作为驱动两个电机的输入。
任务1 -熟悉Sense HAT加速度计(推荐)
树莓派感应HAT LED矩阵自动旋转图像显示示例展示了加速度计在树莓派Sense HAT上的使用。加速度数据用于自动旋转显示在Sense HAT的LED矩阵上的图像。
完成这个例子以熟悉加速度计的用法。
任务2 -安装LEGO MINDSTORMS EV3的Simulink支持包
你需要乐高MINDSTORMS EV3的Simulink支持包在乐高MINDSTORMS EV3硬件上运行Simulink模型。
1.安装乐高MINDSTORMS EV3的Simulink支持包.
点击下面的链接
下载并安装LEGO MINDSTORMS EV3的Simulink支持包
2.(推荐)完成开始与乐高头脑风暴EV3硬件的例子乐高MINDSTORMS EV3的Simulink支持包你刚刚安装了。
任务3 -设置乐高头脑风暴EV3机器人
在本任务中,我们将构建一个EV3机器人,并将EV3砖连接到与主机PC相同的网络。
1.制造一个两轮机器人。您可以在教育核心集中构建一个与打印的构建说明中描述的机器人类似的机器人。
2.在EV3砖和主机之间建立连接。中任务1和任务2开始与乐高头脑风暴EV3硬件的例子。
任务4 -配置网络连接
在本任务中,您将在树莓派板和乐高MINDSTORMS EV3之间建立网络连接。本例中使用的通信协议为UDP。也可以使用TCP/IP协议。TCP/IP发送/接收块在乐高MINDSTORMS EV3和树莓派的库中可用。
1.使用以太网线将树莓派板通过以太网口连接到网络。请确保树莓派板与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地址。
在树莓派硬件和乐高MINDSTORMS EV3机器人上运行Simulink模型
在这个任务中,我们将在相应的硬件上运行我们开发的模型。
1.在硬件选项卡中的树莓派Simulink模型,在模式部分中,选择在船上跑然后点击构建、部署和启动在树莓派硬件上运行这个Simulink模型。
2.在硬件选项卡的乐高MINDSTORMS EV3 Simulink模型,在模式部分中,选择在船上跑然后点击构建、部署和启动在乐高MINDSTORMS EV3硬件上运行此Simulink模型。
3.使用连接到树莓派硬件的Sense HAT控制EV3机器人。
其他可以尝试的事情
1.改进了EV3机器人的控制系统。尝试加入一个PID控制器。
指EV3驱动闭环并对EV3机器人的控制算法进行了改进。
2.利用Sense HAT上的操纵杆开发一个控制EV3机器人的模型。使用Sense HAT库中的操纵杆块来读取机载Sense HAT上的操纵杆的状态。