我们可以使用matlab中的appdesigner工具来制作可视化的工具显示并联机器人的运动。具体的步骤如下所示:
Step 1: 启动appdesigner
我们直接在matlab的命令行中输入命令appdesigner即可启动appdesigner,启动之后选择空白项目就可以根据自己的需求来新建app。
Step 2: 创建需要的控件
在appdesigner的左侧我们可以看到一些常用的控件,在本项目中,我们使用滑块(slider)和坐标轴(UIAxes)控件,我们只需要拖动,然后在检查器中修改名称、范围等属性,就可以把大致的交互界面搭建出来,如下图所示。注意到我们还在此加上了一个按钮(Button)空间。
Step 3: 回调函数的编写
我们希望通过移动滑块来触发绘图功能,这个在appdesigner中使用回调函数(callback)来实现,我们把点击Button的回调函数作为基础函数,其他控件的回调可以直接使用它。我们进入代码界面,在空白处填入以下的代码。
% Callbacks that handle component events
methods (Access = private)
% Callback function: PLOTButton, PitchSlider, PitchSlider,
% RollSlider, RollSlider, XSlider, YSlider, YawSlider,
% YawSlider, ZSlider
function PLOTButtonPushed(app, event)
%-------------------------动平台的位恣-------------------------------------
X = app.XSlider.Value; % 相对初始位置运动的坐标
Y = app.YSlider.Value;
Z = app.ZSlider.Value;
ROLL = app.RollSlider.Value % 相对静平台的恣态
PITCH = app.PitchSlider.Value
YAW = app.YawSlider.Value
%-----------------------初始位置的位恣-------------------------------------
XP = 0; % 动平台 相对 静平台 的初始位置坐标
YP = 0;
ZP = 627.472;
P = [ X+XP; Y+YP; Z+ZP ];% 动平台圆心点 相对 静平台 的坐标
%--------------------------平台的基本尺寸----------------------------------
R = 124; % 动平台铰点的外接圆半径
r = 500; % 静平台铰点的外接圆半径
up_angle0 = -133.5; % 动平台铰点的安装角度
up_angle1 = -46.5;
up_angle2 = -13.5;
up_angle3 = 73.5;
up_angle4 = 106.5;
up_angle5 = 193.5;
down_angle0 = -110.0; % 静平台铰点的安装角度
down_angle1 = -70.0;
down_angle2 = 10.0;
down_angle3 = 50.0;
down_angle4 = 130.0;
down_angle5 = 170.0;
%----------动平台的6个铰点,在动平台坐标系中的位置矢量---------------------
bR1 = [ R*cosd( up_angle0 ); R*sind( up_angle0 );0 ]; %cosd表示用角度(非弧度)表示的余弦值
bR2 = [ R*cosd( up_angle1 ); R*sind( up_angle1 );0 ];
bR3 = [ R*cosd( up_angle2 ); R*sind( up_angle2 );0 ];
bR4 = [ R*cosd( up_angle3 ); R*sind( up_angle3 );0 ];
bR5 = [ R*cosd( up_angle4 ); R*sind( up_angle4 );0 ];