主要内容

用Simulink控制凉亭差动驱动机器人万博1manbetx

本实例演示了如何利用Simulink在Gazebo联合仿真中控制差动驱动机器人。万博1manbetx机器人通过读取姿态和车轮编码器的位置来跟随一组路径点,并生成扭矩控制命令来驱动它。

要下载此示例中使用的虚拟机(VM),请参阅带有ROS和凉亭的虚拟机

对于凉亭共同仿真和第一次连接,请参阅在Simulink和Gazebo之间进行联合仿真万博1manbetx

运行虚拟机

打开安装的虚拟机带有ROS和凉亭的虚拟机

露台的世界

此示例使用VM中给出的世界,diumerialialdriverobot.world.,作为一个简单的地面与默认的物理设置。这个世界使用了一个先锋机器人,去掉了默认控制器,这样内置控制器就不会与Simulink提供的扭矩相竞争。万博1manbetx先锋机器人在默认的Gazebo安装中可用。Gazebo插件引用了连接到Simulink所需的插件,详见万博1manbetx在Simulink和Gazebo之间进行联合仿真万博1manbetx

双击凉亭差动驱动机器人图标。如果Gazebo模拟器无法打开,您可能需要重新安装插件。看到安装凉亭插件手动在Simulink和Gazebo之间进行联合仿真万博1manbetx

替代,在终端中运行这些命令:

cd /home/user/src/ gazeboplugin /export export SVGA_VGPU10=0 gazebo ../world/differentialDriveRobot.world . cd /home/user/src/ gazeboplugin /export export SVGA_VGPU10=0

模型概述

打开模型:

Open_System(“GazeboDifferentialDriveControl”

模型分为四个部分:

  • 眺望台步行者

  • 读取传感器数据

  • 控制移动机器人

  • 将致动数据发送到凉亭

眺望台步行者

本节建立与凉亭的连接。双击眺望台步行者块以打开其参数,然后单击配置凉亭网络和仿真设置链接。这将打开一个对话框。

指定IP地址为你的VM。默认情况下,眺望台连接在14581港口。点击测试按钮,以验证与露台的连接。

如果测试不成功,请务必检查指令在Simulink和Gazebo之间进行联合仿真万博1manbetx并确保Gazebo被正确配置,相关的世界启动并运行。

凉亭传感器输出

传感器输出从Gazebo读取传感器数据,并将其传递到适当的Simulink模块。万博1manbetxXY图形绘制出机器人当前的位置,并将位姿数据保存到仿真输出中。

读露台传感器子系统提取机器人姿势和车轮传感器数据。姿势数据是xy坐标和用于方位的四元数。车轮速度是根据车轮位置的变化率来计算的。

移动机器人控制

移动机器人控制部分接受一组目标航点,电流姿势和当前轮速,并输出具有机器人所需的车轮扭矩遵循追踪航点的路径。

有三个主要组件。

纯粹的追求Block是一个控制器,指定给定当前姿态,以固定速度跟随路径点所需的车辆速度和车辆的航向角速度。

组轮速度MATLAB功能块使用差分驱动机器人的运动学转换为左右车轮速度的车速和标题角速度:

φ. ˙ l 1 r v - d 2

φ. ˙ R 1 r v + d 2

φ. ˙ l φ. ˙ R 是左右轮速度, v 为车辆速度, 是车辆前线角速度, d 轨道宽度是多少 r 为车轮半径。此外,这个MATLAB®函数包括油门车轮速度的代码。自纯粹的追求块在始终使用固定速度,在Matlab功能块内,有两个if-statement。当机器人在一定距离阈值内时,首先以与目标的距离成比例的速度减慢速度。第二个IF-DIUNAL在紧缩阈值时停止机器人。这有助于机器人来温和。

最后,先锋轮控制子系统转换所需的车轮速度扭矩使用比例控制器。

执行器扭矩命令

模型的最后一部分采用控制器生成的扭矩命令,并将其发送到使用来自的块来模拟万博1manbetx露台联合仿真库。

在这个区块的每个子系统中,a总线分配块用于将关节扭矩分配给正确的关节。

例如,内部左轮露台扭矩命令子系统,如上所示,a凉亭空白消息与之ApplyJointTorque命令类型用于指定总线类型。该模型和联合名称由此提供凉亭选择实体它与露台世界中左轮的关节相连,left_wheel_hinge.扭矩施加在整个步骤时间,0.01秒,以纳秒指定,因为这些输入必须作为整数提供。总线的输出传递给凉亭应用命令块。

模拟机器人

要运行模型,初始化路径点并设置示例时间:

路径点= [0 0;4 2;3 7;3 6];sampleTime = 0.01;

点击游戏按钮或使用sim卡命令运行模型。在执行期间,机器人应该在凉亭中移动,并且XY情节更新在Simulink中观察到的姿势。万博1manbetx

图中绘制了路径点集和机器人的最终执行路径。