赞
踩
在联合仿真中首先是对一开始验证的控制器进行修改,首先使用MATLAB Fuction替代了在验证模型的机器人系统。webots可以通过Supervisor和传感器获得机器人位置和姿态信息。原本这个感知模块也是放在机器人系统中的,但是由于是直接获取的机器人位置,没有进行积分和延时,所以直接从机器人系统的输出连接到MPC控制器的输入就会报如下错误
Block diagram ‘car_mpc’ contains 1 algebraic loop(s). To see more details about the loops use the command Simulink.BlockDiagram.getAlgebraicLoops(‘car_mpc’) or the command line Simulink debugger by typing sldebug(‘car_mpc’) in the MATLAB command window. To eliminate this message, set Algebraic loop to “none”.
所以增加了一个MATLAB Fuction用作位置信息的输出,最后的模型如下
使用Webots的向导新建的MATLAB控制器m文件中完成机器人系统的初始化,并且启动Simulink
desktop;
%keyboard;
%机器人电机初始化
TIME_STEP = 64;
wheel_fl = wb_robot_get_devi
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。