主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

移动机器人的架构行为仿真

要仿真移动机器人的逻辑架构,请将 Simulink® 模型链接到组件或添加 Simulink 子系统组件。有关详细信息,请参阅使用 Simulink 实现组件行为。这些模型作为 Simulink 行为,可通过点击运行在 System Composer™ 中进行仿真。仿真显示了移动机器人如何按照控制器创建的轨迹行驶,以避开障碍物。

注意

此示例使用 Simscape™ 模块。如果您没有 Simscape 许可证,则可以打开模型,但只能进行基本更改,例如修改模块参数。

仿真架构行为

移动机器人示例包括一个定义了组件行为的逻辑架构。您可以运行仿真,观看移动机器人避开障碍物。

加载工程。

openProject("scMobileRobotExample");

向逻辑架构添加行为

逻辑架构模型描述了移动机器人系统的仿真行为:轨迹生成器、轨迹跟踪器、电机控制器、传感器算法以及机器人和环境。连接代表系统中的交互。打开没有行为的逻辑架构模型,双击文件或运行此命令。

systemcomposer.openModel("scMobileRobotLogicalArchitecture_Initial");

Initial mobile robot logical architecture diagram without behaviors.

架构模型描述了机器人的行为,但实际上尚未将任何行为添加到架构中。通过添加 Simulink 或 Stateflow® 行为,还可以仿真逻辑架构。

根据组件的接口创建一个新行为。如果行为已存在模型或子系统文件,则使用 Link To Model 链接到现有模型或子系统。要为 Motor Controlle r 组件创建新的子系统引用行为,请右键点击并选择 Create Simulink Behavior,或者在工具条上点击创建 Simulink 行为。有关详细信息,请参阅使用 Simulink 实现组件行为

您可以使用多种方法创建 Simulink 行为:SubsystemSubsystem ReferenceModel Reference。使用 Subsystem 创建子系统组件行为,该行为是父架构模型的一部分。使用 Subsystem ReferenceModel Referenc e 选项将行为保存为单独的工件,以便重用该行为。物理端口只能跨越子系统边界,因此对于物理系统,建议使用 Subsystem ReferenceSubsystem

如果您已经在模型文件或子系统文件中定义了行为,请使用 Link To Model 将组件链接到相应的文件。在工具栏上,点击 Link to Model,或右键点击 Environment 组件,然后选择 Link to Model 以链接到 Environment.slx 子系统文件。

移动机器人的逻辑架构模型

打开最终的逻辑架构,将行为添加到所有组件中。

systemcomposer.openModel("scMobileRobotLogicalArchitecture");

Robot BodyEnvironment 是支持物理端口的 Simulink 子系统引用组件。Trajectory Generator 是同样支持物理端口的 Simulink 子系统组件。Trajectory FollowerMotion Controller 组件则以 Simulink 引用模型的形式链接到这些组件。

仅基于端口信息创建行为算法。在设计逻辑架构时,您可以设置端口的接口以更详细地定义信息。例如,如果您知道以每秒 24 帧的速度捕获的 800 x 600 RGB 图像从相机传感器传输,则可以相应地设置相应的端口接口,以确保高效的数据传输。有关设置接口的更多信息,请参阅定义组件之间的端口接口

通过选择组件,然后在工具栏中导航至格式 > 将图像添加到模块,将封装图标添加到组件。从工具文件夹中浏览一个封装图标。点击确定

Mobile Robot logical architecture with behaviors added. The model is now in a simulation ready state.

使用逻辑架构运行仿真

行为模型链接后,您可以像仿真其他 Simulink 模型一样,点击运行来仿真架构模型。仿真可验证 TransportationCollision AvoidancePath Generation 等需求。

sim scMobileRobotLogicalArchitecture;

MotorController 组件行为的范围显示了简单的 P 增益控制器如何跟踪机器人一个车轮的参考速度。

Multibody Explorer (Simscape Multibody) 视图中,选择 Isometric view icon 切换到等轴测视图。观看移动机器人避开障碍物。

Simscape Multibody mechanics explorer visualization of mobile robot avoiding an obstacle.

参考

[1] Rahman, Mohd Azizi Abdul, Katsuhiro Mayama, Takahiro Takasu, Akira Yasuda, and Makoto Mizukawa. “Model-Driven Development of Intelligent Mobile Robot Using Systems Modeling Language (SysML).” In Mobile Robots: Control Architectures, Bio-Interfacing, Navigation, Multi Robot Motion Planning and Operator Training, edited by Janusz Będkowski. InTech Open, 2011. https://doi.org/10.5772/26906.

另请参阅

主题