Simulink移动机器人仿真学习--Trick记录

1、前记:

记录的目的是学习,也期望阅读者有所收获便足矣。这次的记录算是Simscape Mutibody Modeling学习--移动多体模型中的物体(2)中的一次续写。不过重点不是关于多体建模的,而是对https://www.mathworks.com/matlabcentral/fileexchange/67157-robotics-playground的学习以及个人比较喜欢的trick记录。当然这里不会花太多时间细说这些trick,只是记录一些可行的思路。

Simulink移动机器人仿真学习--Trick记录

包括:(1)利用set_param和get_param与simulink模型中的模块进行交互;

          (2)利用Simulink中的Hyperlink打开网页或执行代码;

          (3)利用键盘按键与Simulink进行交互;

 

2、正文

(1)利用set_param和get_param与simulink模型中的模块进行交互

先看help的说明,用法格式如下。

Simulink移动机器人仿真学习--Trick记录

其实set_param和get_param我们在学习GUI与Simulink交互的时候就用过。如MATLAB下机器人可视化与控制---simulink篇(3)将Simulink中的数据更新到GUI中(记录)中的一样。主要是明确需要进行操作的模型名称和对应模型中的某个模块名。

如在此例子中,利用set_param对仿真移动机器人进行操作:利用class类定义模型属性和方法。

Simulink移动机器人仿真学习--Trick记录Simulink移动机器人仿真学习--Trick记录

在class中对Simulink模型进行定义,对模型中要交互的模块进行定义【截图中青色框中】

这样在MATLAB中可以直接对模型进行控制和数据读取查看,如下移动机器人的左轮运动和速度读取:

Simulink移动机器人仿真学习--Trick记录

(2)利用Simulink中的Hyperlink打开网页或执行代码

这部分用处在与你可以自己做一个注释,然后选中注释后右键添加HyperLink。如果是想打开网页就在HyperLink中的URL中贴上网页,若是想运行代码则在MATLAB code中输入想运行的代码。

Simulink移动机器人仿真学习--Trick记录

如链接为运行代码的测试点击蓝色字体,在MATLAB命令行显示disp的内容:

Simulink移动机器人仿真学习--Trick记录Simulink移动机器人仿真学习--Trick记录

(3)利用键盘按键与Simulink进行交互

首先需要在附加功能中下载键盘控制的Simulink封装的s-function库:

Simulink移动机器人仿真学习--Trick记录

然后可以打开RP_Keyboard_Control.slx模型,运行后通过键盘按钮进行仿真移动机器人的运动控制。如下,测试的时候需要将鼠标放到Figure对象上:

Simulink移动机器人仿真学习--Trick记录

按住键盘中的“w”,移动机器人前进;按住键盘中的“A”键,机器人左转......

在按下按键之后,通过与ASCII码对照判断那个键被按下。【按下后是个脉冲,执行时间具体可以下载后学习。】

Simulink移动机器人仿真学习--Trick记录