这个例子展示了如何读取树莓派™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
您将学习如何:
搭建树莓派硬件与乐高MINDSTORMS EV3机器人的网络连接
配置和运行Simulink模型的树莓派硬金宝app件发送UDP数据包乐高MINDSTORMS EV3机器人
配置并运行LEGO MINDSTORMS金宝app EV3机器人的Simulink模型来接收来自树莓派硬件的UDP报文。
我们建议完成开始与Simulink支持包的树莓派硬件金宝app金宝app的例子。
要运行这个例子,你需要以下硬件:
覆盆子π硬件
树莓派感觉帽子
乐高头脑风暴EV3
两个乐高玩具头脑风暴EV3大型汽车
EV3 wi - fi无线上网卡
在本节中,我们将讨论如何使用加速度数据来控制机器人的运动。
根据加速度计的数据,我们可以用数学方法确定Sense HAT给定位置的“俯仰”和“滚动”值。我们可以将Sense HAT的“俯仰”和“翻滚”运动映射到EV3机器人的运动中。“俯仰”表示电机的向前和向后运动,而“滚转”表示机器人的侧向运动。
将“俯仰角”和“滚转角”的数值转换为电机的线速度所需的数学方程是使用Simulink中树莓派模型的MATLAB函数块实现的。金宝app
树莓派与EV3砖之间建立了数据交换的通信链路。直线电机的速度从俯仰和滚动值通过UDP从树莓派发送到EV3。EV3接收这些数据,并将其用作驱动两个电机的输入。
自动旋转图像显示树莓派感觉HAT LED矩阵例子显示了加速计在树莓派感觉HAT上的使用。加速度数据用于自动旋转Sense HAT的LED矩阵上显示的图像。
完成这个例子来熟悉加速计的用法。
你需要金宝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支持包你刚刚安装。
在本任务中,我们将构建一个EV3机器人,并将EV3砖块连接到与主机PC相同的网络中。
1.制作一个两轮机器人。您可以构建一个类似于教育核心集中打印的建筑说明中描述的机器人。
2.在EV3砖块和您的主机之间建立连接。请参见任务1和任务2乐高EV3硬件入门的例子。
在这个任务中,你将建立树莓派板与乐高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地址。
在本任务中,我们将运行在各自硬件上开发的模型。
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上的操纵杆状态。