主要内容

使用差速(坦克)驱动跟随方形轨迹

本示例展示了如何使用差动(坦克)驱动块来控制VEX®V5机器人遵循方形轨迹。

先决条件

所需的硬件

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

  • VEX EDR V5机器人大脑

  • V5机器人电池

  • 两台V5智能电机,18:1档位

  • V5惯性传感器(推荐)或陀螺仪

  • 双轮机器人平台

  • 智能线和USB A转Micro线

连接硬件

1.将V5机器人电池连接到VEX EDR V5机器人大脑。

2.将左侧智能电机连接到端口3,右侧智能电机连接到端口4。

3.使用智能线缆将V5惯性传感器连接到端口5。如果V5惯性传感器不可用,则使用陀螺仪或智能电机编码器来估计航向。

模型

万博1manbetxVEX ED万博1manbetxR V5机器人大脑的Simulink Coder™支持包提供了一个预先配置的模型,您可以使用该模型让机器人使用差分(坦克)驱动块遵循一组路径点。

要打开模型,在MATLAB®命令提示符下运行此命令:

open_system (“vexv5_squarepath_differential_drive_block”

配置差速(油箱)驱动块

双击“差动(坦克)驱动器”块,打开块参数对话框。有关块参数的详细信息,请参见差动(油箱)驱动

在“驱动器”选项卡中执行这些步骤。

1.如果智能电机连接不同端口,请在块中设置对应端口。

2.如果智能电机的传动比不是18:1,请在“电机齿轮盒”参数中选择合适的传动比。

3.如果电机直接连接到车轮上,没有任何齿轮减速(直接驱动),“齿轮比(电机与车轮)”将为1。否则,请根据需要设置齿轮传动比。例如,如果电机每转动两次,车轮转动一次,则该比率为2/1或2。

4.设置车轮直径和轨道宽度的值。

注意:当电机和车轮之间有齿轮时,电机和车轮的运动方向可能相反。在这种情况下,请选择翻转驱动方向参数。选择不正确的设置会使标题控制不稳定,如图所示。

在Sensors选项卡中执行以下步骤。

1.选择用于航向反馈的传感器。系统默认选择“惯性传感器”。

2.指定用于机器人的惯性或陀螺仪传感器的端口。

在“控制器参数”页签中执行这些步骤。

注意:控制器参数用于设置速度和精度。在第一次部署模型时,使用默认值。

1.修改驱动速度或转向率,以增加或减少机器人向前移动的速度和转向率。

2.设置死区值。死区控制精度。如果您设置的值较低,可能会导致位置或角度控制不稳定。

3.设置迟滞量。迟滞现象防止控制器在前进时经常开关。

配置Waypoint Follower

在预配置的Simulink模型中,路径点在万博1manbetxvexv5_square_path_differential_drive_block>路标发电机Stateflow®图表。双击路标发电机图表查看逻辑。

状态流程图:

  • 等待用户按下开始按钮。

  • 为差动(坦克)驱动块提供路径点或参考姿态。该图表以1 × 3的数组形式提供路径点,对应于最终位置和最终标题[X, Y, θ]。

在这个示例模型中,状态流图有4个路径点,对应于一个方形路径。如果您是第一次使用该模型,请使用默认配置。

机器人一直处于空闲状态,直到你校准并按下开始按钮。然后机器人移动到第一个参考点,旋转90度,然后停止。然后它移动到第二个参考点,转90度,然后停止。类似地,它移动到另外两个参考点以完成方形路径。

模拟模型

注意:该模型支持低保真仿真万博1manbetx和机器人姿态(位置和方向)的可视化。

1.打开预配置的Simulink模型。万博1manbetx

2.若要模拟模型,请转到模拟2 .在Simulin万博1manbetxk模型窗口中,单击运行。当Simulink准备在主机计算机上运行模型时,模型窗口的左下角显示状态。万博1manbetx

3.新闻开始按钮在Simulink模型启万博1manbetx动机器人。这是一个模拟的GIF样例图像。

建立和下载Simulink模型万博1manbetx

建立模型并下载到VEX EDR V5机器人大脑。

1.使用USB线将V5机器人大脑连接到您的计算机。

2.打开V5机器人大脑。

3.打开硬件选择并单击构建、部署和启动。该模型部署在V5机器人大脑中。该操作在VEX V5 Robot Brain上构建、下载并运行模型作为独立应用程序。

4.确保机器人在水平面上保持稳定。这使得惯性传感器或陀螺仪在程序开始时进行校准。

5.断开USB线。

6.一旦部署了模型,应用程序的用户界面将显示一个开始按钮。保持机器人平稳,按下开始按钮。机器人沿着一条方形路径移动一次,然后停止。如果你按开始再次按下按钮,机器人再次沿着方形路径移动并停止。这是一个样本GIF图像的机器人沿着一个方形的路径。

用户界面还包含显示块,以显示机器人的当前状态和位置。这里显示了一个示例屏幕。

  • 状态指示传动系统是否处于活动状态。当传动系统处于活动状态时,它显示1,否则显示0。

  • X和y表示机器人当前的位置。

  • theta值表示逆时针方向测量的方向角。

另请参阅

差动(油箱)驱动