Simulink移动机器人仿真学习--Trick记录
1、前記:
記錄的目的是學(xué)習(xí),也期望閱讀者有所收獲便足矣。這次的記錄算是Simscape Mutibody Modeling學(xué)習(xí)--移動(dòng)多體模型中的物體(2)中的一次續(xù)寫。不過重點(diǎn)不是關(guān)于多體建模的,而是對(duì)https://www.mathworks.com/matlabcentral/fileexchange/67157-robotics-playground的學(xué)習(xí)以及個(gè)人比較喜歡的trick記錄。當(dāng)然這里不會(huì)花太多時(shí)間細(xì)說這些trick,只是記錄一些可行的思路。
包括:(1)利用set_param和get_param與simulink模型中的模塊進(jìn)行交互;
? ? ? ? ? (2)利用Simulink中的Hyperlink打開網(wǎng)頁或執(zhí)行代碼;
? ? ? ? ? (3)利用鍵盤按鍵與Simulink進(jìn)行交互;
?
2、正文
(1)利用set_param和get_param與simulink模型中的模塊進(jìn)行交互
先看help的說明,用法格式如下。
其實(shí)set_param和get_param我們在學(xué)習(xí)GUI與Simulink交互的時(shí)候就用過。如MATLAB下機(jī)器人可視化與控制---simulink篇(3)和將Simulink中的數(shù)據(jù)更新到GUI中(記錄)中的一樣。主要是明確需要進(jìn)行操作的模型名稱和對(duì)應(yīng)模型中的某個(gè)模塊名。
如在此例子中,利用set_param對(duì)仿真移動(dòng)機(jī)器人進(jìn)行操作:利用class類定義模型屬性和方法。
在class中對(duì)Simulink模型進(jìn)行定義,對(duì)模型中要交互的模塊進(jìn)行定義【截圖中青色框中】
這樣在MATLAB中可以直接對(duì)模型進(jìn)行控制和數(shù)據(jù)讀取查看,如下移動(dòng)機(jī)器人的左輪運(yùn)動(dòng)和速度讀取:
關(guān)于通過代碼與Simulink交互可參看:
https://www.mathworks.com/help/simulink/ug/approach-modeling-programmatically.html?s_eid=PSM_15028
https://www.mathworks.com/help/simulink/ug/using-the-sim-command.html
https://www.mathworks.com/help/simulink/programmatic-modeling.html?s_tid=CRUX_lftnav
(2)利用Simulink中的Hyperlink打開網(wǎng)頁或執(zhí)行代碼
這部分用處在與你可以自己做一個(gè)注釋,然后選中注釋后右鍵添加HyperLink。如果是想打開網(wǎng)頁就在HyperLink中的URL中貼上網(wǎng)頁,若是想運(yùn)行代碼則在MATLAB code中輸入想運(yùn)行的代碼。
如鏈接為運(yùn)行代碼的測試點(diǎn)擊藍(lán)色字體,在MATLAB命令行顯示disp的內(nèi)容:
(3)利用鍵盤按鍵與Simulink進(jìn)行交互
首先需要在附加功能中下載鍵盤控制的Simulink封裝的s-function庫:
然后可以打開RP_Keyboard_Control.slx模型,運(yùn)行后通過鍵盤按鈕進(jìn)行仿真移動(dòng)機(jī)器人的運(yùn)動(dòng)控制。如下,測試的時(shí)候需要將鼠標(biāo)放到Figure對(duì)象上:
按住鍵盤中的“w”,移動(dòng)機(jī)器人前進(jìn);按住鍵盤中的“A”鍵,機(jī)器人左轉(zhuǎn)......
在按下按鍵之后,通過與ASCII碼對(duì)照判斷那個(gè)鍵被按下。【按下后是個(gè)脈沖,執(zhí)行時(shí)間具體可以下載后學(xué)習(xí)。】
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Simulink移动机器人仿真学习--Trick记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NIST测试结果分析
- 下一篇: 用数学课件制作工具演示三棱锥的三视图